On Thu, Sep 18, 2014 at 2:35 PM, Alan Lawrence <alan.lawre...@arm.com> wrote: > The VEC_LSHIFT_EXPR tree code, and the corresponding vec_shl_optab, seem to > have been added for completeness, providing a counterpart to VEC_RSHIFT_EXPR > and vec_shr_optab. However, whereas VEC_RSHIFT_EXPRs are generated (only) by > the vectorizer, VEC_LSHIFT_EXPR expressions are not generated at all, so > there seems little point in maintaining it. > > Bootstrapped on x86_64-unknown-linux-gnu. > aarch64.exp+vect.exp on aarch64-none-elf and aarch64_be-none-elf.
Ah, there it is ;) Ok. Thanks, Richard. > gcc/ChangeLog: > > * 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, dump_generic_node, > op_code_prio, op_symbol_code): 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.