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

--- Comment #44 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by H.J. Lu <h...@gcc.gnu.org>:

https://gcc.gnu.org/g:09f0768b55b96c861811a8989d7c1cc59b4c29b6

commit r16-2727-g09f0768b55b96c861811a8989d7c1cc59b4c29b6
Author: H.J. Lu <hjl.to...@gmail.com>
Date:   Fri Aug 1 05:02:18 2025 -0700

    x86: Don't hoist non all 0s/1s vector set outside of loop

    Don't hoist non all 0s/1s vector set outside of the loop to avoid extra
    spills.

    gcc/

            PR target/120941
            * config/i386/i386-features.cc (x86_cse_kind): Moved before
            ix86_place_single_vector_set.
            (redundant_load): Likewise.
            (ix86_place_single_vector_set): Replace the last argument to the
            pointer to redundant_load.  For X86_CSE_VEC_DUP, don't place the
            vector set outside of the loop to avoid extra spills.
            (remove_redundant_vector_load): Pass load to
            ix86_place_single_vector_set.

    gcc/testsuite/

            PR target/120941
            * gcc.target/i386/pr120941-1.c: New test.

    Signed-off-by: H.J. Lu <hjl.to...@gmail.com>

Reply via email to