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.

Reply via email to