On Sun, Sep 28, 2025, 11:28 AM liuhongt <[email protected]> wrote:
> Update in V3:
> Scan warning for the existed pieces-memset-47.c instead of adding a new
> test.
>
LGTM.
>
> For memset, the size of used vector is decided by MIN(MOVE_MAX_PIECES,
> STORE_MAX_PIECES).
> Unless there's u-arch prefer big size vector for memcpy and small size
> vector for memset, there's no need to have a separate option or tune
> for it.
> In general, x86 backend always prefer big size vector for memset due
> to STLF issue.
>
> gcc/ChangeLog:
>
> PR target/121970
> * config/i386/i386-options.cc (ix86_target_string): Remove
> store_max.
> (ix86_debug_options): Ditto.
> (ix86_function_specific_print): Ditto.
> (ix86_valid_target_attribute_tree): Ditto.
> (ix86_option_override_internal): Ditto.
> * config/i386/i386-expand.cc (ix86_expand_builtin): Ditto.
> * config/i386/i386-options.h (ix86_target_string): Ditto.
> * config/i386/i386.h (MOVE_MAX): Ditto.
> (STORE_MAX_PIECES): Set by move_max.
> * config/i386/i386.opt: Deprecate mmove-max=.
> * config/i386/x86-tune.def (X86_TUNE_AVX256_STORE_BY_PIECES):
> Removed.
> (X86_TUNE_AVX512_STORE_BY_PIECES): Ditto.
>
> gcc/testsuite/ChangeLog:
>
> * gcc.target/i386/pieces-memcmp-2.c: Remove mstore-max.
> * gcc.target/i386/pieces-memcpy-19.c: Ditto.
> * gcc.target/i386/pieces-memcpy-20.c: Ditto.
> * gcc.target/i386/pr104610.c: Ditto.
> * gcc.target/i386/pieces-memset-47.c: Scan warning for
> mstore-max deprecation.
> * gcc.target/i386/pieces-memset-48.c: Change mstore-max to
> mmove-max.
> * gcc.target/i386/pr121410.c: Ditto.
> * gcc.target/i386/pieces-memset-11.c: Change
> avx256_store_by_pieces to avx256_move_by_pieces.
> * gcc.target/i386/pieces-memset-14.c: Ditto.
> * gcc.target/i386/pieces-memset-2.c: Ditto.
> * gcc.target/i386/pieces-memset-20.c: Ditto.
> * gcc.target/i386/pieces-memset-23.c: Ditto.
> * gcc.target/i386/pieces-memset-29.c: Ditto.
> * gcc.target/i386/pieces-memset-30.c: Ditto.
> * gcc.target/i386/pieces-memset-33.c: Ditto.
> * gcc.target/i386/pieces-memset-34.c: Ditto.
> * gcc.target/i386/pieces-memset-37.c: Ditto.
> * gcc.target/i386/pieces-memset-44.c: Ditto.
> * gcc.target/i386/pieces-memset-5.c: Ditto.
> * gcc.target/i386/pr100865-10a.c: Ditto.
> * gcc.target/i386/pr100865-4a.c: Ditto.
> * gcc.target/i386/pr90773-20.c: Ditto.
> * gcc.target/i386/pr90773-21.c: Ditto.
> * gcc.target/i386/pr90773-22.c: Ditto.
> * gcc.target/i386/pr90773-23.c: Ditto.
> * g++.target/i386/pr80566-1.C: Ditto.
> * gcc.target/i386/pieces-memset-45.c: Change
> avx512_store_by_pieces to avx512_move_by_pieces.
> ---
> gcc/config/i386/i386-expand.cc | 3 +-
> gcc/config/i386/i386-options.cc | 40 +------------------
> gcc/config/i386/i386-options.h | 1 -
> gcc/config/i386/i386.h | 17 +++-----
> gcc/config/i386/i386.opt | 3 +-
> gcc/config/i386/x86-tune.def | 10 -----
> gcc/testsuite/g++.target/i386/pr80566-1.C | 2 +-
> .../gcc.target/i386/pieces-memcmp-2.c | 2 +-
> .../gcc.target/i386/pieces-memcpy-19.c | 2 +-
> .../gcc.target/i386/pieces-memcpy-20.c | 2 +-
> .../gcc.target/i386/pieces-memset-11.c | 2 +-
> .../gcc.target/i386/pieces-memset-14.c | 2 +-
> .../gcc.target/i386/pieces-memset-2.c | 2 +-
> .../gcc.target/i386/pieces-memset-20.c | 2 +-
> .../gcc.target/i386/pieces-memset-23.c | 2 +-
> .../gcc.target/i386/pieces-memset-29.c | 2 +-
> .../gcc.target/i386/pieces-memset-30.c | 2 +-
> .../gcc.target/i386/pieces-memset-33.c | 2 +-
> .../gcc.target/i386/pieces-memset-34.c | 2 +-
> .../gcc.target/i386/pieces-memset-37.c | 2 +-
> .../gcc.target/i386/pieces-memset-44.c | 2 +-
> .../gcc.target/i386/pieces-memset-45.c | 2 +-
> .../gcc.target/i386/pieces-memset-47.c | 1 +
> .../gcc.target/i386/pieces-memset-48.c | 2 +-
> .../gcc.target/i386/pieces-memset-5.c | 2 +-
> gcc/testsuite/gcc.target/i386/pr100865-10a.c | 2 +-
> gcc/testsuite/gcc.target/i386/pr100865-4a.c | 2 +-
> gcc/testsuite/gcc.target/i386/pr104610.c | 2 +-
> gcc/testsuite/gcc.target/i386/pr121410.c | 2 +-
> gcc/testsuite/gcc.target/i386/pr90773-20.c | 2 +-
> gcc/testsuite/gcc.target/i386/pr90773-21.c | 2 +-
> gcc/testsuite/gcc.target/i386/pr90773-22.c | 2 +-
> gcc/testsuite/gcc.target/i386/pr90773-23.c | 2 +-
> 33 files changed, 37 insertions(+), 90 deletions(-)
>
> diff --git a/gcc/config/i386/i386-expand.cc
> b/gcc/config/i386/i386-expand.cc
> index b0b9e6da946..c6f42275a3e 100644
> --- a/gcc/config/i386/i386-expand.cc
> +++ b/gcc/config/i386/i386-expand.cc
> @@ -13915,8 +13915,7 @@ ix86_expand_builtin (tree exp, rtx target, rtx
> subtarget,
> char *opts = ix86_target_string (bisa, bisa2, 0, 0, NULL, NULL,
> (enum fpmath_unit) 0,
> (enum prefer_vector_width) 0,
> - PVW_NONE, PVW_NONE,
> - false, add_abi_p);
> + PVW_NONE, false, add_abi_p);
> if (!opts)
> error ("%qE needs unknown isa option", fndecl);
> else
> diff --git a/gcc/config/i386/i386-options.cc
> b/gcc/config/i386/i386-options.cc
> index abb5dd7700e..cad40194f17 100644
> --- a/gcc/config/i386/i386-options.cc
> +++ b/gcc/config/i386/i386-options.cc
> @@ -401,7 +401,6 @@ ix86_target_string (HOST_WIDE_INT isa, HOST_WIDE_INT
> isa2,
> enum fpmath_unit fpmath,
> enum prefer_vector_width pvw,
> enum prefer_vector_width move_max,
> - enum prefer_vector_width store_max,
> bool add_nl_p, bool add_abi_p)
> {
> /* Flag options. */
> @@ -611,10 +610,6 @@ ix86_target_string (HOST_WIDE_INT isa, HOST_WIDE_INT
> isa2,
> if (move_max)
> add_vector_width (move_max, "-mmove-max=");
>
> - /* Add -mstore-max= option. */
> - if (store_max)
> - add_vector_width (store_max, "-mstore-max=");
> -
> /* Any options? */
> if (num == 0)
> return NULL;
> @@ -680,8 +675,7 @@ ix86_debug_options (void)
> target_flags, ix86_target_flags,
> ix86_arch_string, ix86_tune_string,
> ix86_fpmath, prefer_vector_width_type,
> - ix86_move_max, ix86_store_max,
> - true, true);
> + ix86_move_max, true, true);
>
> if (opts)
> {
> @@ -956,8 +950,7 @@ ix86_function_specific_print (FILE *file, int indent,
> ptr->x_target_flags, ptr->x_ix86_target_flags,
> NULL, NULL, ptr->x_ix86_fpmath,
> ptr->x_prefer_vector_width_type,
> - ptr->x_ix86_move_max, ptr->x_ix86_store_max,
> - false, true);
> + ptr->x_ix86_move_max, false, true);
>
> gcc_assert (ptr->arch < PROCESSOR_max);
> fprintf (file, "%*sarch = %d (%s)\n",
> @@ -1410,8 +1403,6 @@ ix86_valid_target_attribute_tree (tree fndecl, tree
> args,
> enum prefer_vector_width orig_pvw_set =
> opts_set->x_prefer_vector_width_type;
> enum prefer_vector_width orig_ix86_move_max_set
> = opts_set->x_ix86_move_max;
> - enum prefer_vector_width orig_ix86_store_max_set
> - = opts_set->x_ix86_store_max;
> int orig_tune_defaulted = ix86_tune_defaulted;
> int orig_arch_specified = ix86_arch_specified;
> char *option_strings[IX86_FUNCTION_SPECIFIC_MAX] = { NULL, NULL };
> @@ -1492,7 +1483,6 @@ ix86_valid_target_attribute_tree (tree fndecl, tree
> args,
> opts_set->x_ix86_fpmath = orig_fpmath_set;
> opts_set->x_prefer_vector_width_type = orig_pvw_set;
> opts_set->x_ix86_move_max = orig_ix86_move_max_set;
> - opts_set->x_ix86_store_max = orig_ix86_store_max_set;
> opts->x_ix86_excess_precision = orig_ix86_excess_precision;
> opts->x_ix86_unsafe_math_optimizations
> = orig_ix86_unsafe_math_optimizations;
> @@ -2940,32 +2930,6 @@ ix86_option_override_internal (bool main_args_p,
> }
> }
>
> - if (opts_set->x_ix86_store_max == PVW_NONE)
> - {
> - /* Set the maximum number of bits can be stored to memory
> - efficiently. */
> - if (opts_set->x_prefer_vector_width_type != PVW_NONE)
> - opts->x_ix86_store_max = opts->x_prefer_vector_width_type;
> - else if (ix86_tune_features[X86_TUNE_AVX512_STORE_BY_PIECES])
> - opts->x_ix86_store_max = PVW_AVX512;
> - else if (ix86_tune_features[X86_TUNE_AVX256_STORE_BY_PIECES])
> - opts->x_ix86_store_max = PVW_AVX256;
> - else
> - {
> - opts->x_ix86_store_max = opts->x_prefer_vector_width_type;
> - if (opts_set->x_ix86_store_max == PVW_NONE)
> - {
> - if (TARGET_AVX512F_P (opts->x_ix86_isa_flags))
> - opts->x_ix86_store_max = PVW_AVX512;
> - /* Align with vectorizer to avoid potential STLF issue. */
> - else if (TARGET_AVX_P (opts->x_ix86_isa_flags))
> - opts->x_ix86_store_max = PVW_AVX256;
> - else
> - opts->x_ix86_store_max = PVW_AVX128;
> - }
> - }
> - }
> -
> if (opts->x_ix86_recip_name)
> {
> char *p = ASTRDUP (opts->x_ix86_recip_name);
> diff --git a/gcc/config/i386/i386-options.h
> b/gcc/config/i386/i386-options.h
> index 0499c0894ff..56868998e0b 100644
> --- a/gcc/config/i386/i386-options.h
> +++ b/gcc/config/i386/i386-options.h
> @@ -28,7 +28,6 @@ char *ix86_target_string (HOST_WIDE_INT isa,
> HOST_WIDE_INT isa2,
> enum fpmath_unit fpmath,
> enum prefer_vector_width pvw,
> enum prefer_vector_width move_max,
> - enum prefer_vector_width store_max,
> bool add_nl_p, bool add_abi_p);
>
> extern enum attr_cpu ix86_schedule;
> diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h
> index ac0ce687f36..f4c89f012dd 100644
> --- a/gcc/config/i386/i386.h
> +++ b/gcc/config/i386/i386.h
> @@ -1916,13 +1916,9 @@ typedef struct ix86_args {
> MOVE_MAX_PIECES defaults to MOVE_MAX. */
>
> #define MOVE_MAX \
> - ((TARGET_AVX512F \
> - && (ix86_move_max == PVW_AVX512 \
> - || ix86_store_max == PVW_AVX512)) \
> + ((TARGET_AVX512F && ix86_move_max == PVW_AVX512) \
> ? 64 \
> - : ((TARGET_AVX \
> - && (ix86_move_max >= PVW_AVX256 \
> - || ix86_store_max >= PVW_AVX256)) \
> + : ((TARGET_AVX && ix86_move_max >= PVW_AVX256) \
> ? 32 \
> : ((TARGET_SSE2 \
> && TARGET_SSE_UNALIGNED_LOAD_OPTIMAL \
> @@ -1935,15 +1931,14 @@ typedef struct ix86_args {
> store_by_pieces of 16/32/64 bytes. */
> #define STORE_MAX_PIECES \
> (TARGET_INTER_UNIT_MOVES_TO_VEC \
> - ? ((TARGET_AVX512F && ix86_store_max == PVW_AVX512) \
> + ? ((TARGET_AVX512F && ix86_move_max == PVW_AVX512) \
> ? 64 \
> - : ((TARGET_AVX \
> - && ix86_store_max >= PVW_AVX256) \
> + : ((TARGET_AVX && ix86_move_max >= PVW_AVX256) \
> ? 32 \
> : ((TARGET_SSE2 \
> && TARGET_SSE_UNALIGNED_STORE_OPTIMAL) \
> - ? 16 : UNITS_PER_WORD))) \
> - : UNITS_PER_WORD)
> + ? 16 : UNITS_PER_WORD))) \
> + : UNITS_PER_WORD)
>
> /* If a memory-to-memory move would take MOVE_RATIO or more simple
> move-instruction pairs, we will do a cpymem or libcall instead.
> diff --git a/gcc/config/i386/i386.opt b/gcc/config/i386/i386.opt
> index 6bda22f4843..11921765b2d 100644
> --- a/gcc/config/i386/i386.opt
> +++ b/gcc/config/i386/i386.opt
> @@ -644,8 +644,7 @@ Target RejectNegative Joined Var(ix86_move_max)
> Enum(prefer_vector_width) Init(P
> Maximum number of bits that can be moved from memory to memory
> efficiently.
>
> mstore-max=
> -Target RejectNegative Joined Var(ix86_store_max)
> Enum(prefer_vector_width) Init(PVW_NONE) Save
> -Maximum number of bits that can be stored to memory efficiently.
> +Target RejectNegative Joined Uncoumented Var(ix86_move_max)
> Enum(prefer_vector_width) Init(PVW_NONE) Warn(%<-mstore-max=%> is
> deprecated; use %<-mmove-max=%> instead)
>
> mnoreturn-no-callee-saved-registers
> Target Var(ix86_noreturn_no_callee_saved_registers)
> diff --git a/gcc/config/i386/x86-tune.def b/gcc/config/i386/x86-tune.def
> index 255ea4a16cc..3627312bf09 100644
> --- a/gcc/config/i386/x86-tune.def
> +++ b/gcc/config/i386/x86-tune.def
> @@ -619,21 +619,11 @@ DEF_TUNE (X86_TUNE_AVX512_SPLIT_REGS,
> "avx512_split_regs", m_ZNVER4)
> DEF_TUNE (X86_TUNE_AVX256_MOVE_BY_PIECES, "avx256_move_by_pieces",
> m_CORE_HYBRID | m_CORE_AVX2 | m_ZNVER1 | m_ZNVER2 | m_ZNVER3)
>
> -/* X86_TUNE_AVX256_STORE_BY_PIECES: Optimize store_by_pieces with 256-bit
> - AVX instructions. */
> -DEF_TUNE (X86_TUNE_AVX256_STORE_BY_PIECES, "avx256_store_by_pieces",
> - m_CORE_HYBRID | m_CORE_AVX2 | m_ZNVER1 | m_ZNVER2 | m_ZNVER3)
> -
> /* X86_TUNE_AVX512_MOVE_BY_PIECES: Optimize move_by_pieces with 512-bit
> AVX instructions. */
> DEF_TUNE (X86_TUNE_AVX512_MOVE_BY_PIECES, "avx512_move_by_pieces",
> m_ZNVER4 | m_ZNVER5)
>
> -/* X86_TUNE_AVX512_STORE_BY_PIECES: Optimize store_by_pieces with 512-bit
> - AVX instructions. */
> -DEF_TUNE (X86_TUNE_AVX512_STORE_BY_PIECES, "avx512_store_by_pieces",
> - m_ZNVER4 | m_ZNVER5)
> -
> /* X86_TUNE_AVX512_TWO_EPILOGUES: Use two vector epilogues for 512-bit
> vectorized loops. */
> DEF_TUNE (X86_TUNE_AVX512_TWO_EPILOGUES, "avx512_two_epilogues",
> diff --git a/gcc/testsuite/g++.target/i386/pr80566-1.C
> b/gcc/testsuite/g++.target/i386/pr80566-1.C
> index 2a8031c46bd..4e6d96a8804 100644
> --- a/gcc/testsuite/g++.target/i386/pr80566-1.C
> +++ b/gcc/testsuite/g++.target/i386/pr80566-1.C
> @@ -1,5 +1,5 @@
> // { dg-do compile }
> -// { dg-options "-O2 -march=haswell -mtune-ctrl=avx256_store_by_pieces" }
> +// { dg-options "-O2 -march=haswell -mtune-ctrl=avx256_move_by_pieces" }
> // { dg-skip-if "requires hosted libstdc++ for cstring" { ! hostedlib } }
>
> #include <cstring>
> diff --git a/gcc/testsuite/gcc.target/i386/pieces-memcmp-2.c
> b/gcc/testsuite/gcc.target/i386/pieces-memcmp-2.c
> index 6061c911165..d4dd0a5159f 100644
> --- a/gcc/testsuite/gcc.target/i386/pieces-memcmp-2.c
> +++ b/gcc/testsuite/gcc.target/i386/pieces-memcmp-2.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile { target ia32 } } */
> -/* { dg-options "-O2 -mavx2 -mmove-max=128 -mstore-max=128" } */
> +/* { dg-options "-O2 -mavx2 -mmove-max=128" } */
>
> int foo(char *a)
> {
> diff --git a/gcc/testsuite/gcc.target/i386/pieces-memcpy-19.c
> b/gcc/testsuite/gcc.target/i386/pieces-memcpy-19.c
> index a5b5b617578..de9757fc3ea 100644
> --- a/gcc/testsuite/gcc.target/i386/pieces-memcpy-19.c
> +++ b/gcc/testsuite/gcc.target/i386/pieces-memcpy-19.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-O2 -march=sapphirerapids -mmove-max=128
> -mstore-max=128" } */
> +/* { dg-options "-O2 -march=sapphirerapids -mmove-max=128" } */
>
> extern char *dst, *src;
>
> diff --git a/gcc/testsuite/gcc.target/i386/pieces-memcpy-20.c
> b/gcc/testsuite/gcc.target/i386/pieces-memcpy-20.c
> index 1feff48c5b2..cb96fbab696 100644
> --- a/gcc/testsuite/gcc.target/i386/pieces-memcpy-20.c
> +++ b/gcc/testsuite/gcc.target/i386/pieces-memcpy-20.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-O2 -march=sapphirerapids -mmove-max=256
> -mstore-max=256" } */
> +/* { dg-options "-O2 -march=sapphirerapids -mmove-max=256" } */
>
> extern char *dst, *src;
>
> diff --git a/gcc/testsuite/gcc.target/i386/pieces-memset-11.c
> b/gcc/testsuite/gcc.target/i386/pieces-memset-11.c
> index 3802eb7c147..fbf76d06b1d 100644
> --- a/gcc/testsuite/gcc.target/i386/pieces-memset-11.c
> +++ b/gcc/testsuite/gcc.target/i386/pieces-memset-11.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-O2 -mno-avx2 -mavx -mtune-ctrl=avx256_store_by_pieces"
> } */
> +/* { dg-options "-O2 -mno-avx2 -mavx -mtune-ctrl=avx256_move_by_pieces" }
> */
>
> extern char *dst;
>
> diff --git a/gcc/testsuite/gcc.target/i386/pieces-memset-14.c
> b/gcc/testsuite/gcc.target/i386/pieces-memset-14.c
> index 10bc085f83b..cb940f6710c 100644
> --- a/gcc/testsuite/gcc.target/i386/pieces-memset-14.c
> +++ b/gcc/testsuite/gcc.target/i386/pieces-memset-14.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-O2 -mno-avx2 -mavx -mtune-ctrl=avx256_store_by_pieces"
> } */
> +/* { dg-options "-O2 -mno-avx2 -mavx -mtune-ctrl=avx256_move_by_pieces" }
> */
>
> extern char *dst;
>
> diff --git a/gcc/testsuite/gcc.target/i386/pieces-memset-2.c
> b/gcc/testsuite/gcc.target/i386/pieces-memset-2.c
> index 4ebfc4df090..53498f9f4aa 100644
> --- a/gcc/testsuite/gcc.target/i386/pieces-memset-2.c
> +++ b/gcc/testsuite/gcc.target/i386/pieces-memset-2.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-O2 -mno-avx2 -mavx -mtune-ctrl=avx256_store_by_pieces"
> } */
> +/* { dg-options "-O2 -mno-avx2 -mavx -mtune-ctrl=avx256_move_by_pieces" }
> */
>
> extern char *dst;
>
> diff --git a/gcc/testsuite/gcc.target/i386/pieces-memset-20.c
> b/gcc/testsuite/gcc.target/i386/pieces-memset-20.c
> index 1dc4db180d3..09c9defa017 100644
> --- a/gcc/testsuite/gcc.target/i386/pieces-memset-20.c
> +++ b/gcc/testsuite/gcc.target/i386/pieces-memset-20.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-O2 -mno-avx2 -mavx -mtune-ctrl=avx256_store_by_pieces"
> } */
> +/* { dg-options "-O2 -mno-avx2 -mavx -mtune-ctrl=avx256_move_by_pieces" }
> */
>
> extern char *dst;
>
> diff --git a/gcc/testsuite/gcc.target/i386/pieces-memset-23.c
> b/gcc/testsuite/gcc.target/i386/pieces-memset-23.c
> index 9232864024e..f692ff00b38 100644
> --- a/gcc/testsuite/gcc.target/i386/pieces-memset-23.c
> +++ b/gcc/testsuite/gcc.target/i386/pieces-memset-23.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-O2 -mno-avx2 -mavx -mtune-ctrl=avx256_store_by_pieces"
> } */
> +/* { dg-options "-O2 -mno-avx2 -mavx -mtune-ctrl=avx256_move_by_pieces" }
> */
>
> extern char *dst;
>
> diff --git a/gcc/testsuite/gcc.target/i386/pieces-memset-29.c
> b/gcc/testsuite/gcc.target/i386/pieces-memset-29.c
> index 3b07a64e3f6..8499907b416 100644
> --- a/gcc/testsuite/gcc.target/i386/pieces-memset-29.c
> +++ b/gcc/testsuite/gcc.target/i386/pieces-memset-29.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-O2 -mno-avx2 -mavx -mtune-ctrl=avx256_store_by_pieces"
> } */
> +/* { dg-options "-O2 -mno-avx2 -mavx -mtune-ctrl=avx256_move_by_pieces" }
> */
>
> extern char *dst;
>
> diff --git a/gcc/testsuite/gcc.target/i386/pieces-memset-30.c
> b/gcc/testsuite/gcc.target/i386/pieces-memset-30.c
> index 59595e6d3c4..c9c4459894e 100644
> --- a/gcc/testsuite/gcc.target/i386/pieces-memset-30.c
> +++ b/gcc/testsuite/gcc.target/i386/pieces-memset-30.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-O2 -mno-avx512f -mavx2
> -mtune-ctrl=avx256_store_by_pieces" } */
> +/* { dg-options "-O2 -mno-avx512f -mavx2
> -mtune-ctrl=avx256_move_by_pieces" } */
>
> extern char *dst;
>
> diff --git a/gcc/testsuite/gcc.target/i386/pieces-memset-33.c
> b/gcc/testsuite/gcc.target/i386/pieces-memset-33.c
> index 68646223b0e..b88988f50f5 100644
> --- a/gcc/testsuite/gcc.target/i386/pieces-memset-33.c
> +++ b/gcc/testsuite/gcc.target/i386/pieces-memset-33.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-O2 -mno-avx2 -mavx -mtune-ctrl=avx256_store_by_pieces"
> } */
> +/* { dg-options "-O2 -mno-avx2 -mavx -mtune-ctrl=avx256_move_by_pieces" }
> */
>
> extern char *dst;
>
> diff --git a/gcc/testsuite/gcc.target/i386/pieces-memset-34.c
> b/gcc/testsuite/gcc.target/i386/pieces-memset-34.c
> index 52a16a0292d..b6a6c3dd163 100644
> --- a/gcc/testsuite/gcc.target/i386/pieces-memset-34.c
> +++ b/gcc/testsuite/gcc.target/i386/pieces-memset-34.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-O2 -mno-avx512f -mavx2
> -mtune-ctrl=avx256_store_by_pieces" } */
> +/* { dg-options "-O2 -mno-avx512f -mavx2
> -mtune-ctrl=avx256_move_by_pieces" } */
>
> extern char *dst;
>
> diff --git a/gcc/testsuite/gcc.target/i386/pieces-memset-37.c
> b/gcc/testsuite/gcc.target/i386/pieces-memset-37.c
> index 5cc4d7749c3..7b9845f9ef4 100644
> --- a/gcc/testsuite/gcc.target/i386/pieces-memset-37.c
> +++ b/gcc/testsuite/gcc.target/i386/pieces-memset-37.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-O2 -mno-avx512f -mavx2
> -mtune-ctrl=avx256_store_by_pieces" } */
> +/* { dg-options "-O2 -mno-avx512f -mavx2
> -mtune-ctrl=avx256_move_by_pieces" } */
>
> void
> foo (int a1, int a2, int a3, int a4, int a5, int a6, int x, char *dst)
> diff --git a/gcc/testsuite/gcc.target/i386/pieces-memset-44.c
> b/gcc/testsuite/gcc.target/i386/pieces-memset-44.c
> index 5986f8e8b23..94552bed9dc 100644
> --- a/gcc/testsuite/gcc.target/i386/pieces-memset-44.c
> +++ b/gcc/testsuite/gcc.target/i386/pieces-memset-44.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-O2 -mno-avx2 -mavx -mtune-ctrl=avx256_store_by_pieces"
> } */
> +/* { dg-options "-O2 -mno-avx2 -mavx -mtune-ctrl=avx256_move_by_pieces" }
> */
>
> extern char *dst;
>
> diff --git a/gcc/testsuite/gcc.target/i386/pieces-memset-45.c
> b/gcc/testsuite/gcc.target/i386/pieces-memset-45.c
> index e8ce7c23256..d0822a774e3 100644
> --- a/gcc/testsuite/gcc.target/i386/pieces-memset-45.c
> +++ b/gcc/testsuite/gcc.target/i386/pieces-memset-45.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-O2 -march=x86-64 -mavx512f
> -mtune-ctrl=avx512_store_by_pieces" } */
> +/* { dg-options "-O2 -march=x86-64 -mavx512f
> -mtune-ctrl=avx512_move_by_pieces" } */
>
> extern char *dst;
>
> diff --git a/gcc/testsuite/gcc.target/i386/pieces-memset-47.c
> b/gcc/testsuite/gcc.target/i386/pieces-memset-47.c
> index 78d3290c74f..99d6abe4844 100644
> --- a/gcc/testsuite/gcc.target/i386/pieces-memset-47.c
> +++ b/gcc/testsuite/gcc.target/i386/pieces-memset-47.c
> @@ -1,5 +1,6 @@
> /* { dg-do compile } */
> /* { dg-options "-O2 -march=sapphirerapids -mstore-max=128" } */
> +/* { dg-warning ".-mstore-max=. is deprecated; use .-mmove-max=. instead"
> "" { target *-*-* } 0 } */
>
> extern char *dst;
>
> diff --git a/gcc/testsuite/gcc.target/i386/pieces-memset-48.c
> b/gcc/testsuite/gcc.target/i386/pieces-memset-48.c
> index 6342dbb91b0..be12fbb2e9b 100644
> --- a/gcc/testsuite/gcc.target/i386/pieces-memset-48.c
> +++ b/gcc/testsuite/gcc.target/i386/pieces-memset-48.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-O2 -march=sapphirerapids -mstore-max=256" } */
> +/* { dg-options "-O2 -march=sapphirerapids -mmove-max=256" } */
>
> extern char *dst;
>
> diff --git a/gcc/testsuite/gcc.target/i386/pieces-memset-5.c
> b/gcc/testsuite/gcc.target/i386/pieces-memset-5.c
> index e2379df71aa..7fc824c3c56 100644
> --- a/gcc/testsuite/gcc.target/i386/pieces-memset-5.c
> +++ b/gcc/testsuite/gcc.target/i386/pieces-memset-5.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-O2 -mno-avx2 -mavx -mtune-ctrl=avx256_store_by_pieces"
> } */
> +/* { dg-options "-O2 -mno-avx2 -mavx -mtune-ctrl=avx256_move_by_pieces" }
> */
>
> extern char *dst;
>
> diff --git a/gcc/testsuite/gcc.target/i386/pr100865-10a.c
> b/gcc/testsuite/gcc.target/i386/pr100865-10a.c
> index 3bc0f1a2f0f..04129f51234 100644
> --- a/gcc/testsuite/gcc.target/i386/pr100865-10a.c
> +++ b/gcc/testsuite/gcc.target/i386/pr100865-10a.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile { target int128 } } */
> -/* { dg-options "-O3 -march=skylake -mtune-ctrl=avx256_store_by_pieces" }
> */
> +/* { dg-options "-O3 -march=skylake -mtune-ctrl=avx256_move_by_pieces" }
> */
>
> extern __int128 array[16];
>
> diff --git a/gcc/testsuite/gcc.target/i386/pr100865-4a.c
> b/gcc/testsuite/gcc.target/i386/pr100865-4a.c
> index 8009e5cebd6..5817f78fbb3 100644
> --- a/gcc/testsuite/gcc.target/i386/pr100865-4a.c
> +++ b/gcc/testsuite/gcc.target/i386/pr100865-4a.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-O2 -march=skylake -mtune-ctrl=avx256_store_by_pieces" }
> */
> +/* { dg-options "-O2 -march=skylake -mtune-ctrl=avx256_move_by_pieces" }
> */
> /* { dg-additional-options "-fno-PIE" { target ia32 } } */
>
> extern char array[64];
> diff --git a/gcc/testsuite/gcc.target/i386/pr104610.c
> b/gcc/testsuite/gcc.target/i386/pr104610.c
> index 5173fc8898c..fec9fcbe935 100644
> --- a/gcc/testsuite/gcc.target/i386/pr104610.c
> +++ b/gcc/testsuite/gcc.target/i386/pr104610.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-O2 -mavx -mmove-max=256 -mstore-max=256
> -fno-stack-protector" } */
> +/* { dg-options "-O2 -mavx -mmove-max=256 -fno-stack-protector" } */
> /* { dg-final { scan-assembler-times {(?n)vptest.*ymm} 1 } } */
> /* { dg-final { scan-assembler-times {sete} 1 } } */
> /* { dg-final { scan-assembler-not {(?n)je.*L[0-9]} } } */
> diff --git a/gcc/testsuite/gcc.target/i386/pr121410.c
> b/gcc/testsuite/gcc.target/i386/pr121410.c
> index 04bab91e1b8..93cb39b8017 100644
> --- a/gcc/testsuite/gcc.target/i386/pr121410.c
> +++ b/gcc/testsuite/gcc.target/i386/pr121410.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-O2 -march=x86-64 -mavx512f -mstore-max=128" } */
> +/* { dg-options "-O2 -march=x86-64 -mavx512f -mmove-max=128" } */
>
> extern unsigned _BitInt(3719) a;
> extern _BitInt(465) g;
> diff --git a/gcc/testsuite/gcc.target/i386/pr90773-20.c
> b/gcc/testsuite/gcc.target/i386/pr90773-20.c
> index 884a5502b59..3286d33f396 100644
> --- a/gcc/testsuite/gcc.target/i386/pr90773-20.c
> +++ b/gcc/testsuite/gcc.target/i386/pr90773-20.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-O2 -march=skylake -mtune-ctrl=avx256_store_by_pieces" }
> */
> +/* { dg-options "-O2 -march=skylake -mtune-ctrl=avx256_move_by_pieces" }
> */
>
> extern char *dst;
>
> diff --git a/gcc/testsuite/gcc.target/i386/pr90773-21.c
> b/gcc/testsuite/gcc.target/i386/pr90773-21.c
> index 0d620fff83c..56ec843c40f 100644
> --- a/gcc/testsuite/gcc.target/i386/pr90773-21.c
> +++ b/gcc/testsuite/gcc.target/i386/pr90773-21.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-O2 -march=skylake -mtune-ctrl=avx256_store_by_pieces" }
> */
> +/* { dg-options "-O2 -march=skylake -mtune-ctrl=avx256_move_by_pieces" }
> */
>
> extern char *dst;
>
> diff --git a/gcc/testsuite/gcc.target/i386/pr90773-22.c
> b/gcc/testsuite/gcc.target/i386/pr90773-22.c
> index 245a436b7eb..5fc70c3d02d 100644
> --- a/gcc/testsuite/gcc.target/i386/pr90773-22.c
> +++ b/gcc/testsuite/gcc.target/i386/pr90773-22.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-O2 -march=skylake -mtune-ctrl=avx256_store_by_pieces" }
> */
> +/* { dg-options "-O2 -march=skylake -mtune-ctrl=avx256_move_by_pieces" }
> */
>
> extern char *dst;
>
> diff --git a/gcc/testsuite/gcc.target/i386/pr90773-23.c
> b/gcc/testsuite/gcc.target/i386/pr90773-23.c
> index b7369e802e1..120f2d9d809 100644
> --- a/gcc/testsuite/gcc.target/i386/pr90773-23.c
> +++ b/gcc/testsuite/gcc.target/i386/pr90773-23.c
> @@ -1,5 +1,5 @@
> /* { dg-do compile } */
> -/* { dg-options "-O2 -march=skylake -mtune-ctrl=avx256_store_by_pieces" }
> */
> +/* { dg-options "-O2 -march=skylake -mtune-ctrl=avx256_move_by_pieces" }
> */
>
> extern char *dst;
>
> --
> 2.34.1
>
>
>