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

--- Comment #2 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:050b1708ea532ea4840e97d85fad4ca63d4cd631

commit r16-1588-g050b1708ea532ea4840e97d85fad4ca63d4cd631
Author: H.J. Lu <hjl.to...@gmail.com>
Date:   Thu Jun 19 05:03:48 2025 +0800

    x86: Get the widest vector mode from MOVE_MAX

    Since MOVE_MAX defines the maximum number of bytes that an instruction
    can move quickly between memory and registers, use it to get the widest
    vector mode in vector loop when inlining memcpy and memset.

    gcc/

            PR target/120708
            * config/i386/i386-expand.cc (ix86_expand_set_or_cpymem): Use
            MOVE_MAX to get the widest vector mode in vector loop.

    gcc/testsuite/

            PR target/120708
            * gcc.target/i386/memcpy-pr120708-1.c: New test.
            * gcc.target/i386/memcpy-pr120708-2.c: Likewise.
            * gcc.target/i386/memcpy-pr120708-3.c: Likewise.
            * gcc.target/i386/memcpy-pr120708-4.c: Likewise.
            * gcc.target/i386/memcpy-pr120708-5.c: Likewise.
            * gcc.target/i386/memcpy-pr120708-6.c: Likewise.
            * gcc.target/i386/memset-pr120708-1.c: Likewise.
            * gcc.target/i386/memset-pr120708-2.c: Likewise.
            * gcc.target/i386/memcpy-strategy-1.c: Drop dg-skip-if.  Replace
            -march=atom with -mno-avx -msse2 -mtune=generic
            -mtune-ctrl=^sse_typeless_stores.
            * gcc.target/i386/memcpy-strategy-2.c: Likewise.
            * gcc.target/i386/memcpy-vector_loop-1.c: Likewise.
            * gcc.target/i386/memcpy-vector_loop-2.c: Likewise.
            * gcc.target/i386/memset-vector_loop-1.c: Likewise.
            * gcc.target/i386/memset-vector_loop-2.c: Likewise.

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

Reply via email to