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

--- Comment #3 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Richard Biener <rgue...@gcc.gnu.org>:

https://gcc.gnu.org/g:798a880a0b1fed8a9e3b3e026dd8bd09314b7c38

commit r14-3149-g798a880a0b1fed8a9e3b3e026dd8bd09314b7c38
Author: Richard Biener <rguent...@suse.de>
Date:   Fri Aug 11 13:00:17 2023 +0200

    tree-optimization/110979 - fold-left reduction and partial vectors

    When we vectorize fold-left reductions with partial vectors but
    no target operation available we use a vector conditional to force
    excess elements to zero.  But that doesn't correctly preserve
    the sign of zero.  The following patch disables partial vector
    support when we have to do that and also need to honor rounding
    modes other than round-to-nearest.  When round-to-nearest is in
    effect and we have to preserve the sign of zero instead use
    negative zero for the excess elements.

            PR tree-optimization/110979
            * tree-vect-loop.cc (vectorizable_reduction): For
            FOLD_LEFT_REDUCTION without target support make sure
            we don't need to honor signed zeros and sign dependent rounding.

            * gcc.dg/torture/pr110979.c: New testcase.

Reply via email to