On Thu, Jun 19, 2025 at 1:27 PM H.J. Lu <hjl.to...@gmail.com> wrote: > > 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.
OK. Thanks, Uros.