aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Support/X86TargetParser.cpp
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2020-10-24 18:00:20 +0200
committerBenjamin Kramer <benny.kra@googlemail.com>2020-10-24 19:01:22 +0200
commitbd2cf96c098ed0020f5178eda12cf30d3980d9bd (patch)
tree7876d71f3c31634a5f4e5ddcb02e85a3cb60b008 /llvm/lib/Support/X86TargetParser.cpp
parentb8d2b6f6cf6015751fc950c3e8149404e8b37fe8 (diff)
downloadllvm-bd2cf96c098ed0020f5178eda12cf30d3980d9bd.zip
llvm-bd2cf96c098ed0020f5178eda12cf30d3980d9bd.tar.gz
llvm-bd2cf96c098ed0020f5178eda12cf30d3980d9bd.tar.bz2
[X86] Add a stub for znver3 based on the little public information there is in AMD's manuals
No scheduling, no autodetection. Just enough so -march=znver3 works.
Diffstat (limited to 'llvm/lib/Support/X86TargetParser.cpp')
-rw-r--r--llvm/lib/Support/X86TargetParser.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/Support/X86TargetParser.cpp b/llvm/lib/Support/X86TargetParser.cpp
index 7b1e0c0..0a803d0 100644
--- a/llvm/lib/Support/X86TargetParser.cpp
+++ b/llvm/lib/Support/X86TargetParser.cpp
@@ -279,6 +279,9 @@ constexpr FeatureBitset FeaturesZNVER1 =
FeatureXSAVEOPT | FeatureXSAVES;
constexpr FeatureBitset FeaturesZNVER2 =
FeaturesZNVER1 | FeatureCLWB | FeatureRDPID | FeatureWBNOINVD;
+static constexpr FeatureBitset FeaturesZNVER3 = FeaturesZNVER2 |
+ FeatureINVPCID | FeaturePKU |
+ FeatureVAES | FeatureVPCLMULQDQ;
constexpr ProcInfo Processors[] = {
// Empty processor. Include X87 and CMPXCHG8 for backwards compatibility.
@@ -391,6 +394,7 @@ constexpr ProcInfo Processors[] = {
// Zen architecture processors.
{ {"znver1"}, CK_ZNVER1, FEATURE_AVX2, FeaturesZNVER1 },
{ {"znver2"}, CK_ZNVER2, FEATURE_AVX2, FeaturesZNVER2 },
+ { {"znver3"}, CK_ZNVER3, FEATURE_AVX2, FeaturesZNVER3 },
// Generic 64-bit processor.
{ {"x86-64"}, CK_x86_64, ~0U, FeaturesX86_64 },
{ {"x86-64-v2"}, CK_x86_64_v2, ~0U, FeaturesX86_64_V2 },