On October 27, 2014 7:43:05 PM CET, Alan Lawrence <alan.lawre...@arm.com> wrote: >Ok, I've now pushed the previously-approved first half of this, and am >now >looking at replacing VEC_RSHIFT_EXPR with a VEC_PERM_EXPR. However: >does it seem >reasonable to push this patch 11 (removing VEC_LSHIFT_EXPR and >vec_shl_optab) >out-of-sequence? The patch applies almost-cleanly, there is just a >one-line >conflict with a change to a comment from the previous patch (which I'm >skipping)...
Sure - please go ahead! Thanks, Richard. >Cheers, Alan > >Richard Biener wrote: >> 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. >>