aboutsummaryrefslogtreecommitdiff
path: root/gcc/config.gcc
diff options
context:
space:
mode:
authorHaochen Jiang <haochen.jiang@intel.com>2023-07-17 10:45:50 +0800
committerHaochen Jiang <haochen.jiang@intel.com>2023-07-17 10:59:01 +0800
commit8643bcbaafeb00da04be01909ac01e6c1ce262b3 (patch)
treecd076b9e43eb7151b6800802549aaf864a51418b /gcc/config.gcc
parent1dbc1081e877c81270d2f954f2f605165fc44aa4 (diff)
downloadgcc-8643bcbaafeb00da04be01909ac01e6c1ce262b3.zip
gcc-8643bcbaafeb00da04be01909ac01e6c1ce262b3.tar.gz
gcc-8643bcbaafeb00da04be01909ac01e6c1ce262b3.tar.bz2
Support Intel SM3
gcc/ChangeLog: * common/config/i386/cpuinfo.h (get_available_features): Detect SM3. * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_SM3_SET, OPTION_MASK_ISA2_SM3_UNSET): New. (OPTION_MASK_ISA2_AVX_UNSET): Add SM3. (ix86_handle_option): Handle -msm3. * common/config/i386/i386-cpuinfo.h (enum processor_features): Add FEATURE_SM3. * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for SM3. * config.gcc: Add sm3intrin.h * config/i386/cpuid.h (bit_SM3): New. * config/i386/i386-builtin-types.def: Add DEF_FUNCTION_TYPE (V4SI, V4SI, V4SI, V4SI, INT). * config/i386/i386-builtin.def (BDESC): Add new builtins. * config/i386/i386-c.cc (ix86_target_macros_internal): Define __SM3__. * config/i386/i386-expand.cc (ix86_expand_args_builtin): Handle V4SI_FTYPE_V4SI_V4SI_V4SI_INT. * config/i386/i386-isa.def (SM3): Add DEF_PTA(SM3). * config/i386/i386-options.cc (isa2_opts): Add -msm3. (ix86_valid_target_attribute_inner_p): Handle sm3. * config/i386/i386.opt: Add option -msm3. * config/i386/immintrin.h: Include sm3intrin.h. * config/i386/sse.md (vsm3msg1): New define insn. (vsm3msg2): Ditto. (vsm3rnds2): Ditto. * doc/extend.texi: Document sm3. * doc/invoke.texi: Document -msm3. * doc/sourcebuild.texi: Document target sm3. * config/i386/sm3intrin.h: New file. gcc/testsuite/ChangeLog: * g++.dg/other/i386-2.C: Add -msm3. * g++.dg/other/i386-3.C: Ditto. * gcc.target/i386/avx-1.c: Add new define for immediate. * gcc.target/i386/funcspec-56.inc: Add new target attribute. * gcc.target/i386/sse-12.c: Add -msm3. * gcc.target/i386/sse-13.c: Ditto. * gcc.target/i386/sse-14.c: Ditto. * gcc.target/i386/sse-22.c: Add sm3. * gcc.target/i386/sse-23.c: Ditto. * lib/target-supports.exp (check_effective_target_sm3): New. * gcc.target/i386/sm3-1.c: New test. * gcc.target/i386/sm3-check.h: Ditto. * gcc.target/i386/sm3msg1-2.c: Ditto. * gcc.target/i386/sm3msg2-2.c: Ditto. * gcc.target/i386/sm3rnds2-2.c: Ditto.
Diffstat (limited to 'gcc/config.gcc')
-rw-r--r--gcc/config.gcc3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/config.gcc b/gcc/config.gcc
index fc74d77..fbd7360 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -435,7 +435,8 @@ i[34567]86-*-* | x86_64-*-*)
mwaitintrin.h avx512fp16intrin.h avx512fp16vlintrin.h
avxifmaintrin.h avxvnniint8intrin.h avxneconvertintrin.h
cmpccxaddintrin.h amxfp16intrin.h prfchiintrin.h
- raointintrin.h amxcomplexintrin.h avxvnniint16intrin.h"
+ raointintrin.h amxcomplexintrin.h avxvnniint16intrin.h
+ sm3intrin.h"
;;
ia64-*-*)
extra_headers=ia64intrin.h