diff options
author | liuhongt <hongtao.liu@intel.com> | 2025-04-01 00:30:07 -0700 |
---|---|---|
committer | liuhongt <hongtao.liu@intel.com> | 2025-04-26 18:07:09 -0700 |
commit | d85444a3b00c9a6fce56459af5ec081439a9aaa0 (patch) | |
tree | af76df1ab8adbfa418efcee285eaeeb26b14bce8 /gcc | |
parent | 3076c77da9c35ab00d3e7328835f17b63401d062 (diff) | |
download | gcc-d85444a3b00c9a6fce56459af5ec081439a9aaa0.zip gcc-d85444a3b00c9a6fce56459af5ec081439a9aaa0.tar.gz gcc-d85444a3b00c9a6fce56459af5ec081439a9aaa0.tar.bz2 |
Refactor msse4 and mno-sse4.
gcc/ChangeLog:
PR target/119549
* common/config/i386/i386-common.cc (ix86_handle_option):
Refactor msse4 and mno-sse4.
* config/i386/i386.opt (msse4): Remove RejectNegative.
(mno-sse4): Remove the entry.
* config/i386/i386-options.cc
(ix86_valid_target_attribute_inner_p): Remove special code
which handles mno-sse4.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/common/config/i386/i386-common.cc | 23 | ||||
-rw-r--r-- | gcc/config/i386/i386-options.cc | 7 | ||||
-rw-r--r-- | gcc/config/i386/i386.opt | 6 |
3 files changed, 13 insertions, 23 deletions
diff --git a/gcc/common/config/i386/i386-common.cc b/gcc/common/config/i386/i386-common.cc index 4815fbc..296df3b 100644 --- a/gcc/common/config/i386/i386-common.cc +++ b/gcc/common/config/i386/i386-common.cc @@ -1519,17 +1519,18 @@ ix86_handle_option (struct gcc_options *opts, return true; case OPT_msse4: - gcc_assert (value != 0); - opts->x_ix86_isa_flags |= OPTION_MASK_ISA_SSE4_SET; - opts->x_ix86_isa_flags_explicit |= OPTION_MASK_ISA_SSE4_SET; - return true; - - case OPT_mno_sse4: - gcc_assert (value != 0); - opts->x_ix86_isa_flags &= ~OPTION_MASK_ISA_SSE4_UNSET; - opts->x_ix86_isa_flags_explicit |= OPTION_MASK_ISA_SSE4_UNSET; - opts->x_ix86_isa_flags2 &= ~OPTION_MASK_ISA2_SSE4_UNSET; - opts->x_ix86_isa_flags2_explicit |= OPTION_MASK_ISA2_SSE4_UNSET; + if (value) + { + opts->x_ix86_isa_flags |= OPTION_MASK_ISA_SSE4_SET; + opts->x_ix86_isa_flags_explicit |= OPTION_MASK_ISA_SSE4_SET; + } + else + { + opts->x_ix86_isa_flags &= ~OPTION_MASK_ISA_SSE4_UNSET; + opts->x_ix86_isa_flags_explicit |= OPTION_MASK_ISA_SSE4_UNSET; + opts->x_ix86_isa_flags2 &= ~OPTION_MASK_ISA2_SSE4_UNSET; + opts->x_ix86_isa_flags2_explicit |= OPTION_MASK_ISA2_SSE4_UNSET; + } return true; case OPT_msse4a: diff --git a/gcc/config/i386/i386-options.cc b/gcc/config/i386/i386-options.cc index 964449f..45aa9b4 100644 --- a/gcc/config/i386/i386-options.cc +++ b/gcc/config/i386/i386-options.cc @@ -1271,13 +1271,6 @@ ix86_valid_target_attribute_inner_p (tree fndecl, tree args, char *p_strings[], } } - /* Fixup -msse4 which is RejectNegative to -mno-sse4 when negated. */ - if (opt == OPT_msse4 && !opt_set_p) - { - opt = OPT_mno_sse4; - opt_set_p = true; - } - /* Process the option. */ if (opt == N_OPTS) { diff --git a/gcc/config/i386/i386.opt b/gcc/config/i386/i386.opt index 27d34bd..0abf134 100644 --- a/gcc/config/i386/i386.opt +++ b/gcc/config/i386/i386.opt @@ -721,13 +721,9 @@ Target Mask(ISA_SSE4_2) Var(ix86_isa_flags) Save Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1 and SSE4.2 built-in functions and code generation. msse4 -Target RejectNegative Mask(ISA_SSE4_2) Var(ix86_isa_flags) Save +Target Mask(ISA_SSE4_2) Var(ix86_isa_flags) Save Support MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1 and SSE4.2 built-in functions and code generation. -mno-sse4 -Target RejectNegative InverseMask(ISA_SSE4_1) Var(ix86_isa_flags) Save -Do not support SSE4.1 and SSE4.2 built-in functions and code generation. - msse5 Target Undocumented Alias(mavx) Warn(%<-msse5%> was removed) ;; Deprecated |