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

--- Comment #5 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:b073f2b098ba7819450d6c14a0fb96cb1c09f242

commit r13-5122-gb073f2b098ba7819450d6c14a0fb96cb1c09f242
Author: Richard Biener <rguent...@suse.de>
Date:   Thu Jan 12 11:18:22 2023 +0100

    tree-optimization/99412 - reassoc and reduction chains

    With -ffast-math we end up associating reduction chains and break
    them - this is because of old code that tries to rectify reductions
    into a shape likened by the vectorizer.  Nowadays the rank compute
    produces correct association for reduction chains and the vectorizer
    has robust support to fall back to a regular reductions (via
    reduction path) when it turns out to be not a proper reduction chain.

    So this patch removes the special code in reassoc which makes
    the TSVC s352 vectorized with -Ofast (it is already without
    -ffast-math).

            PR tree-optimization/99412
            * tree-ssa-reassoc.cc (is_phi_for_stmt): Remove.
            (swap_ops_for_binary_stmt): Remove reduction handling.
            (rewrite_expr_tree_parallel): Adjust.
            (reassociate_bb): Likewise.
            * tree-parloops.cc (build_new_reduction): Handle MINUS_EXPR.

            * gcc.dg/vect/pr99412.c: New testcase.
            * gcc.dg/tree-ssa/reassoc-47.c: Adjust comment.
            * gcc.dg/tree-ssa/reassoc-48.c: Remove.

Reply via email to