[Bug tree-optimization/61114] Scalar evolution hides a big-endian const-folding bug.

alalaw01 at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Oct 27 14:21:00 GMT 2014


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61114

--- Comment #9 from alalaw01 at gcc dot gnu.org ---
Author: alalaw01
Date: Mon Oct 27 14:04:43 2014
New Revision: 216736

URL: https://gcc.gnu.org/viewcvs?rev=216736&root=gcc&view=rev
Log:
[Vectorizer] Make REDUC_xxx_EXPR tree codes produce a scalar result

    PR tree-optimization/61114
    * expr.c (expand_expr_real_2): For REDUC_{MIN,MAX,PLUS}_EXPR, add
    extract_bit_field around optab result.

    * fold-const.c (fold_unary_loc): For REDUC_{MIN,MAX,PLUS}_EXPR, produce
    scalar not vector.

    * tree-cfg.c (verify_gimple_assign_unary): Check result vs operand type
    for REDUC_{MIN,MAX,PLUS}_EXPR.

    * tree-vect-loop.c (vect_analyze_loop): Update comment.
    (vect_create_epilog_for_reduction): For direct vector reduction, use
    result of tree code directly without extract_bit_field.

    * tree.def (REDUC_MAX_EXPR, REDUC_MIN_EXPR, REDUC_PLUS_EXPR): Update
    comment.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/expr.c
    trunk/gcc/fold-const.c
    trunk/gcc/tree-cfg.c
    trunk/gcc/tree-vect-loop.c
    trunk/gcc/tree.def



More information about the Gcc-bugs mailing list