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

--- Comment #10 from alalaw01 at gcc dot gnu.org ---
Author: alalaw01
Date: Mon Oct 27 14:20:52 2014
New Revision: 216737

URL: https://gcc.gnu.org/viewcvs?rev=216737&root=gcc&view=rev
Log:
Add new optabs for reducing vectors to scalars

    PR tree-optimization/61114
    * doc/md.texi (Standard Names): Add reduc_(plus,[us](min|max))|scal
    optabs, and note in reduc_[us](plus|min|max) to prefer the former.

    * expr.c (expand_expr_real_2): Use reduc_..._scal if available, fall
    back to old reduc_... + BIT_FIELD_REF only if not.

    * optabs.c (optab_for_tree_code): for REDUC_(MAX,MIN,PLUS)_EXPR,
    return the reduce-to-scalar (reduc_..._scal) optab.
    (scalar_reduc_to_vector): New.

    * optabs.def (reduc_smax_scal_optab, reduc_smin_scal_optab,
    reduc_plus_scal_optab, reduc_umax_scal_optab, reduc_umin_scal_optab):
    New.

    * optabs.h (scalar_reduc_to_vector): Declare.

    * tree-vect-loop.c (vectorizable_reduction): Look for optabs reducing
    to either scalar or vector.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/doc/md.texi
    trunk/gcc/expr.c
    trunk/gcc/optabs.c
    trunk/gcc/optabs.def
    trunk/gcc/optabs.h
    trunk/gcc/tree-vect-loop.c

Reply via email to