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.

Reply via email to