https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121970
--- Comment #9 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by hongtao Liu <[email protected]>: https://gcc.gnu.org/g:dd645f6b9e9a6f5853ffeb51ac341edf6690833d commit r16-4123-gdd645f6b9e9a6f5853ffeb51ac341edf6690833d Author: liuhongt <[email protected]> Date: Tue Sep 23 19:55:50 2025 -0700 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.
