aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Support/X86TargetParser.cpp
diff options
context:
space:
mode:
authorFreddy Ye <freddy.ye@intel.com>2020-08-25 12:27:02 +0800
committerFreddy Ye <freddy.ye@intel.com>2020-08-25 14:21:21 +0800
commite02d081f2b60b61eb60ef6a49b1a9f907e432d4c (patch)
tree6acdb55674c1233cdfdf4867e64d0bff7fb5f3fe /llvm/lib/Support/X86TargetParser.cpp
parent7f426c65b06f2d19546b2d50fccc15de9dde3d85 (diff)
downloadllvm-e02d081f2b60b61eb60ef6a49b1a9f907e432d4c.zip
llvm-e02d081f2b60b61eb60ef6a49b1a9f907e432d4c.tar.gz
llvm-e02d081f2b60b61eb60ef6a49b1a9f907e432d4c.tar.bz2
[X86] Support -march=sapphirerapids
Support -march=sapphirerapids for x86. Compare with Icelake Server, it includes 14 more new features. They are amxtile, amxint8, amxbf16, avx512bf16, avx512vp2intersect, cldemote, enqcmd, movdir64b, movdiri, ptwrite, serialize, shstk, tsxldtrk, waitpkg. Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D86503
Diffstat (limited to 'llvm/lib/Support/X86TargetParser.cpp')
-rw-r--r--llvm/lib/Support/X86TargetParser.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/llvm/lib/Support/X86TargetParser.cpp b/llvm/lib/Support/X86TargetParser.cpp
index 680ec91..a5af985 100644
--- a/llvm/lib/Support/X86TargetParser.cpp
+++ b/llvm/lib/Support/X86TargetParser.cpp
@@ -195,6 +195,11 @@ static constexpr FeatureBitset FeaturesICLServer =
static constexpr FeatureBitset FeaturesTigerlake =
FeaturesICLClient | FeatureAVX512VP2INTERSECT | FeatureMOVDIR64B |
FeatureMOVDIRI | FeatureSHSTK;
+static constexpr FeatureBitset FeaturesSapphireRapids =
+ FeaturesICLServer | FeatureAMX_TILE | FeatureAMX_INT8 | FeatureAMX_BF16 |
+ FeatureAVX512BF16 | FeatureAVX512VP2INTERSECT | FeatureCLDEMOTE | FeatureENQCMD |
+ FeatureMOVDIR64B | FeatureMOVDIRI | FeaturePTWRITE | FeatureSERIALIZE |
+ FeatureSHSTK | FeatureTSXLDTRK | FeatureWAITPKG;
// Intel Atom processors.
// Bonnell has feature parity with Core2 and adds MOVBE.
@@ -342,6 +347,8 @@ static constexpr ProcInfo Processors[] = {
{ {"icelake-server"}, CK_IcelakeServer, FEATURE_AVX512VBMI2, FeaturesICLServer },
// Tigerlake microarchitecture based processors.
{ {"tigerlake"}, CK_Tigerlake, FEATURE_AVX512VP2INTERSECT, FeaturesTigerlake },
+ // Sapphire Rapids microarchitecture based processors.
+ { {"sapphirerapids"}, CK_SapphireRapids, FEATURE_AVX512VP2INTERSECT, FeaturesSapphireRapids },
// Knights Landing processor.
{ {"knl"}, CK_KNL, FEATURE_AVX512F, FeaturesKNL },
// Knights Mill processor.