[Bug target/122150] [16 Regression] wrong code with -mstringop-strategy=unrolled_loop and __builtin_memset(n=2841)

cvs-commit at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sun Oct 5 21:20:56 GMT 2025


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

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

https://gcc.gnu.org/g:a3727eb5e821d6a1916805029aeaed092e5e739d

commit r16-4237-ga3727eb5e821d6a1916805029aeaed092e5e739d
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Sat Oct 4 07:02:20 2025 +0800

    x86: Handle small OP size in setmem_epilogue_gen_val

    Since OP size passed to setmem_epilogue_gen_val may be smaller than the
    required vector size, duplicate it first before setting vector.

    gcc/

            PR target/122150
            * config/i386/i386-expand.cc (setmem_epilogue_gen_val): Duplicate
            OP if its size is smaller than MODE size.

    gcc/testsuite/

            PR target/122150
            * gcc.target/i386/pr122150.c: New test.

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


More information about the Gcc-bugs mailing list