diff options
author | Alan Lawrence <alan.lawrence@arm.com> | 2014-10-28 11:17:47 +0000 |
---|---|---|
committer | Alan Lawrence <alalaw01@gcc.gnu.org> | 2014-10-28 11:17:47 +0000 |
commit | e29dfbf07d93e89e92d8b95bef247fc95a8024ef (patch) | |
tree | 815114050f368a772cb5c71599a28a3a4b7ef2ec /gcc/optabs.c | |
parent | fed4de37b870faad50374a63aa1cf68a97963da6 (diff) | |
download | gcc-e29dfbf07d93e89e92d8b95bef247fc95a8024ef.zip gcc-e29dfbf07d93e89e92d8b95bef247fc95a8024ef.tar.gz gcc-e29dfbf07d93e89e92d8b95bef247fc95a8024ef.tar.bz2 |
Remove VEC_LSHIFT_EXPR and vec_shl_optab
* expr.c (expand_expr_real_2): Remove code handling VEC_LSHIFT_EXPR.
* fold-const.c (const_binop): Likewise.
* cfgexpand.c (expand_debug_expr): Likewise.
* tree-inline.c (estimate_operator_cost): Likewise.
* tree-vect-generic.c (expand_vector_operations_1): Likewise.
* optabs.c (optab_for_tree_code): Likewise.
(expand_vec_shift_expr): Likewise, update comment.
* tree.def: Delete VEC_LSHIFT_EXPR, remove comment.
* optabs.h (expand_vec_shift_expr): Remove comment re. VEC_LSHIFT_EXPR.
* optabs.def: Remove vec_shl_optab.
* doc/md.texi: Remove references to vec_shr_m.
From-SVN: r216779
Diffstat (limited to 'gcc/optabs.c')
-rw-r--r-- | gcc/optabs.c | 20 |
1 files changed, 3 insertions, 17 deletions
diff --git a/gcc/optabs.c b/gcc/optabs.c index 677958f..9452f99 100644 --- a/gcc/optabs.c +++ b/gcc/optabs.c @@ -519,9 +519,6 @@ optab_for_tree_code (enum tree_code code, const_tree type, case REDUC_PLUS_EXPR: return reduc_plus_scal_optab; - case VEC_LSHIFT_EXPR: - return vec_shl_optab; - case VEC_RSHIFT_EXPR: return vec_shr_optab; @@ -773,7 +770,7 @@ force_expand_binop (enum machine_mode mode, optab binoptab, return true; } -/* Generate insns for VEC_LSHIFT_EXPR, VEC_RSHIFT_EXPR. */ +/* Generate insns for VEC_RSHIFT_EXPR. */ rtx expand_vec_shift_expr (sepops ops, rtx target) @@ -784,21 +781,10 @@ expand_vec_shift_expr (sepops ops, rtx target) enum machine_mode mode = TYPE_MODE (ops->type); tree vec_oprnd = ops->op0; tree shift_oprnd = ops->op1; - optab shift_optab; - switch (ops->code) - { - case VEC_RSHIFT_EXPR: - shift_optab = vec_shr_optab; - break; - case VEC_LSHIFT_EXPR: - shift_optab = vec_shl_optab; - break; - default: - gcc_unreachable (); - } + gcc_assert (ops->code == VEC_RSHIFT_EXPR); - icode = optab_handler (shift_optab, mode); + icode = optab_handler (vec_shr_optab, mode); gcc_assert (icode != CODE_FOR_nothing); rtx_op1 = expand_normal (vec_oprnd); |