diff options
author | Hu, Lin1 <lin1.hu@intel.com> | 2024-11-01 10:04:43 +0800 |
---|---|---|
committer | Haochen Jiang <haochen.jiang@intel.com> | 2024-11-01 11:06:15 +0800 |
commit | f8ae2cce23fc6c36dc553cc90e0091cdbc8dda22 (patch) | |
tree | 962d93217b1327faa8091fe5d1966d8e8d7d119f /gcc/config.gcc | |
parent | e9ab41b79933d42410126f0eb7b29f820745276c (diff) | |
download | gcc-f8ae2cce23fc6c36dc553cc90e0091cdbc8dda22.zip gcc-f8ae2cce23fc6c36dc553cc90e0091cdbc8dda22.tar.gz gcc-f8ae2cce23fc6c36dc553cc90e0091cdbc8dda22.tar.bz2 |
Support Intel AMX-MOVRS
gcc/ChangeLog:
* common/config/i386/cpuinfo.h (get_available_features):
Detect AMX-MOVRS.
* common/config/i386/i386-common.cc
(OPTION_MASK_ISA2_AMX_MOVRS_SET): New.
(OPTION_MASK_ISA2_AMX_MOVRS_UNSET): Ditto.
(ix86_handle_option): Handle -mamx-movrs.
* common/config/i386/i386-cpuinfo.h (enum processor_features):
Add FEATURE_AMX_MOVRS.
* common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
amx-movrs.
* config.gcc: Add amxmovrsintrin.h.
* config/i386/cpuid.h (bit_AMX_MOVRS): New.
* config/i386/i386-c.cc (ix86_target_macros_internal):
Define __AMX_MOVRS__.
* config/i386/i386-isa.def (AMX_MOVRS): Add DEF_PTA(AMX_MOVRS).
* config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p):
Handle amx-movrs.
* config/i386/i386.opt: Add option -mamx-movrs.
* config/i386/i386.opt.urls: Regenerated.
* config/i386/immintrin.h: Include amxmovrsintrin.h
* doc/extend.texi: Document amx-movrs.
* doc/invoke.texi: Document -mamx-movrs.
* doc/sourcebuild.texi: Document target amx-movrs.
* config/i386/amxmovrsintrin.h: New file.
gcc/testsuite/ChangeLog:
* g++.dg/other/i386-2.C: Add -mamx-movrs.
* g++.dg/other/i386-3.C: Ditto.
* gcc.target/i386/amx-check.h: Add new check for amx-movrs.
* gcc.target/i386/funcspec-56.inc: Add new target attribute.
* gcc.target/i386/sse-12.c: Add -mamx-movrs.
* gcc.target/i386/sse-13.c: Ditto.
* gcc.target/i386/sse-14.c: Ditto.
* gcc.target/i386/sse-22.c: Add amx-movrs.
* gcc.target/i386/sse-23.c: Ditto.
* lib/target-supports.exp (check_effective_target_amx_movrs): New.
* gcc.target/i386/amxmovrs-asmatt-1.c: New test.
* gcc.target/i386/amxmovrs-asmintel-1.c: Ditto.
* gcc.target/i386/amxmovrs-t2rpntlvw-2.c: Ditto.
* gcc.target/i386/amxmovrs-tileloaddrs-2.c: Ditto.
Diffstat (limited to 'gcc/config.gcc')
-rw-r--r-- | gcc/config.gcc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/config.gcc b/gcc/config.gcc index a34fb8a..1b0637d 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -459,7 +459,8 @@ i[34567]86-*-* | x86_64-*-*) avx10_2satcvtintrin.h avx10_2-512satcvtintrin.h avx10_2minmaxintrin.h avx10_2-512minmaxintrin.h avx10_2copyintrin.h amxavx512intrin.h amxtf32intrin.h - amxtransposeintrin.h amxfp8intrin.h movrsintrin.h" + amxtransposeintrin.h amxfp8intrin.h movrsintrin.h + amxmovrsintrin.h" ;; ia64-*-*) extra_headers=ia64intrin.h |