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

--- Comment #19 from Richard Biener <rguenth at gcc dot gnu.org> ---
Author: rguenth
Date: Fri Jan 12 11:43:13 2018
New Revision: 256576

URL: https://gcc.gnu.org/viewcvs?rev=256576&root=gcc&view=rev
Log:
2018-01-12  Richard Biener  <rguent...@suse.de>

        PR tree-optimization/80846
        * target.def (split_reduction): New target hook.
        * targhooks.c (default_split_reduction): New function.
        * targhooks.h (default_split_reduction): Declare.
        * tree-vect-loop.c (vect_create_epilog_for_reduction): If the
        target requests first reduce vectors by combining low and high
        parts.
        * tree-vect-stmts.c (vect_gen_perm_mask_any): Adjust.
        (get_vectype_for_scalar_type_and_size): Export.
        * tree-vectorizer.h (get_vectype_for_scalar_type_and_size): Declare.

        * doc/tm.texi.in (TARGET_VECTORIZE_SPLIT_REDUCTION): Document.
        * doc/tm.texi: Regenerate.

        i386/
        * config/i386/i386.c (ix86_split_reduction): Implement
        TARGET_VECTORIZE_SPLIT_REDUCTION.

        * gcc.target/i386/pr80846-1.c: New testcase.
        * gcc.target/i386/pr80846-2.c: Likewise.

Added:
    trunk/gcc/testsuite/gcc.target/i386/pr80846-1.c
    trunk/gcc/testsuite/gcc.target/i386/pr80846-2.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/i386/i386.c
    trunk/gcc/doc/tm.texi
    trunk/gcc/doc/tm.texi.in
    trunk/gcc/target.def
    trunk/gcc/targhooks.c
    trunk/gcc/targhooks.h
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/tree-vect-loop.c
    trunk/gcc/tree-vect-stmts.c
    trunk/gcc/tree-vectorizer.h

Reply via email to