]> git.ipfire.org Git - thirdparty/gcc.git/commit
Deprecate -mstore-max= and related tuning.
authorliuhongt <hongtao.liu@intel.com>
Wed, 24 Sep 2025 02:55:50 +0000 (19:55 -0700)
committerliuhongt <hongtao.liu@intel.com>
Sun, 28 Sep 2025 05:14:05 +0000 (22:14 -0700)
commitdd645f6b9e9a6f5853ffeb51ac341edf6690833d
treec747a13b3c15d64ad123b04187a73970d6e13bdb
parentbd352bd5923e2c259d7c80c69c11b1c9407f280d
Deprecate -mstore-max= and related tuning.

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.
33 files changed:
gcc/config/i386/i386-expand.cc
gcc/config/i386/i386-options.cc
gcc/config/i386/i386-options.h
gcc/config/i386/i386.h
gcc/config/i386/i386.opt
gcc/config/i386/x86-tune.def
gcc/testsuite/g++.target/i386/pr80566-1.C
gcc/testsuite/gcc.target/i386/pieces-memcmp-2.c
gcc/testsuite/gcc.target/i386/pieces-memcpy-19.c
gcc/testsuite/gcc.target/i386/pieces-memcpy-20.c
gcc/testsuite/gcc.target/i386/pieces-memset-11.c
gcc/testsuite/gcc.target/i386/pieces-memset-14.c
gcc/testsuite/gcc.target/i386/pieces-memset-2.c
gcc/testsuite/gcc.target/i386/pieces-memset-20.c
gcc/testsuite/gcc.target/i386/pieces-memset-23.c
gcc/testsuite/gcc.target/i386/pieces-memset-29.c
gcc/testsuite/gcc.target/i386/pieces-memset-30.c
gcc/testsuite/gcc.target/i386/pieces-memset-33.c
gcc/testsuite/gcc.target/i386/pieces-memset-34.c
gcc/testsuite/gcc.target/i386/pieces-memset-37.c
gcc/testsuite/gcc.target/i386/pieces-memset-44.c
gcc/testsuite/gcc.target/i386/pieces-memset-45.c
gcc/testsuite/gcc.target/i386/pieces-memset-47.c
gcc/testsuite/gcc.target/i386/pieces-memset-48.c
gcc/testsuite/gcc.target/i386/pieces-memset-5.c
gcc/testsuite/gcc.target/i386/pr100865-10a.c
gcc/testsuite/gcc.target/i386/pr100865-4a.c
gcc/testsuite/gcc.target/i386/pr104610.c
gcc/testsuite/gcc.target/i386/pr121410.c
gcc/testsuite/gcc.target/i386/pr90773-20.c
gcc/testsuite/gcc.target/i386/pr90773-21.c
gcc/testsuite/gcc.target/i386/pr90773-22.c
gcc/testsuite/gcc.target/i386/pr90773-23.c