diff options
author | Richard Sandiford <richard.sandiford@linaro.org> | 2011-04-20 09:25:42 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2011-04-20 09:25:42 +0000 |
commit | 267d3070f755138d967f6fd0c05b3c9ccb361aaf (patch) | |
tree | e069d62850ed1e1da9555cd452f0ceaefe28bbce /gcc/internal-fn.c | |
parent | 0b2ddd9ce3a1e6db7b9b16adf75fed550f05d0ce (diff) | |
download | gcc-267d3070f755138d967f6fd0c05b3c9ccb361aaf.zip gcc-267d3070f755138d967f6fd0c05b3c9ccb361aaf.tar.gz gcc-267d3070f755138d967f6fd0c05b3c9ccb361aaf.tar.bz2 |
Revert last patch.
From-SVN: r172763
Diffstat (limited to 'gcc/internal-fn.c')
-rw-r--r-- | gcc/internal-fn.c | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/gcc/internal-fn.c b/gcc/internal-fn.c index ddf4157..9f087b8 100644 --- a/gcc/internal-fn.c +++ b/gcc/internal-fn.c @@ -42,73 +42,6 @@ const int internal_fn_flags_array[] = { 0 }; -/* ARRAY_TYPE is an array of vector modes. Return the associated insn - for load-lanes-style optab OPTAB. The insn must exist. */ - -static enum insn_code -get_multi_vector_move (tree array_type, convert_optab optab) -{ - enum insn_code icode; - enum machine_mode imode; - enum machine_mode vmode; - - gcc_assert (TREE_CODE (array_type) == ARRAY_TYPE); - imode = TYPE_MODE (array_type); - vmode = TYPE_MODE (TREE_TYPE (array_type)); - - icode = convert_optab_handler (optab, imode, vmode); - gcc_assert (icode != CODE_FOR_nothing); - return icode; -} - -/* Expand LOAD_LANES call STMT. */ - -static void -expand_LOAD_LANES (gimple stmt) -{ - struct expand_operand ops[2]; - tree type, lhs, rhs; - rtx target, mem; - - lhs = gimple_call_lhs (stmt); - rhs = gimple_call_arg (stmt, 0); - type = TREE_TYPE (lhs); - - target = expand_expr (lhs, NULL_RTX, VOIDmode, EXPAND_WRITE); - mem = expand_normal (rhs); - - gcc_assert (MEM_P (mem)); - PUT_MODE (mem, TYPE_MODE (type)); - - create_output_operand (&ops[0], target, TYPE_MODE (type)); - create_fixed_operand (&ops[1], mem); - expand_insn (get_multi_vector_move (type, vec_load_lanes_optab), 2, ops); -} - -/* Expand STORE_LANES call STMT. */ - -static void -expand_STORE_LANES (gimple stmt) -{ - struct expand_operand ops[2]; - tree type, lhs, rhs; - rtx target, reg; - - lhs = gimple_call_lhs (stmt); - rhs = gimple_call_arg (stmt, 0); - type = TREE_TYPE (rhs); - - target = expand_expr (lhs, NULL_RTX, VOIDmode, EXPAND_WRITE); - reg = expand_normal (rhs); - - gcc_assert (MEM_P (target)); - PUT_MODE (target, TYPE_MODE (type)); - - create_fixed_operand (&ops[0], target); - create_input_operand (&ops[1], reg, TYPE_MODE (type)); - expand_insn (get_multi_vector_move (type, vec_store_lanes_optab), 2, ops); -} - /* Routines to expand each internal function, indexed by function number. Each routine has the prototype: |