summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--llvm/lib/Target/X86/X86.td38
1 files changed, 37 insertions, 1 deletions
diff --git a/llvm/lib/Target/X86/X86.td b/llvm/lib/Target/X86/X86.td
index 53ac078b309..06b8b466674 100644
--- a/llvm/lib/Target/X86/X86.td
+++ b/llvm/lib/Target/X86/X86.td
@@ -511,7 +511,6 @@ class SkylakeProc<string Name> : ProcessorModel<Name, HaswellModel, [
FeatureLZCNT,
FeatureBMI,
FeatureBMI2,
- FeatureVBMI,
FeatureFMA,
FeatureRTM,
FeatureHLE,
@@ -526,6 +525,43 @@ class SkylakeProc<string Name> : ProcessorModel<Name, HaswellModel, [
def : SkylakeProc<"skylake">;
def : SkylakeProc<"skx">; // Legacy alias.
+class CannonlakeProc<string Name> : ProcessorModel<Name, HaswellModel, [
+ FeatureMMX,
+ FeatureAVX512,
+ FeatureFXSR,
+ FeatureCDI,
+ FeatureDQI,
+ FeatureBWI,
+ FeatureVLX,
+ FeaturePKU,
+ FeatureCMPXCHG16B,
+ FeatureSlowBTMem,
+ FeaturePOPCNT,
+ FeatureAES,
+ FeaturePCLMUL,
+ FeatureXSAVE,
+ FeatureXSAVEOPT,
+ FeatureRDRAND,
+ FeatureF16C,
+ FeatureFSGSBase,
+ FeatureMOVBE,
+ FeatureLZCNT,
+ FeatureBMI,
+ FeatureBMI2,
+ FeatureVBMI,
+ FeatureFMA,
+ FeatureRTM,
+ FeatureHLE,
+ FeatureADX,
+ FeatureRDSEED,
+ FeatureSlowIncDec,
+ FeatureMPX,
+ FeatureXSAVEC,
+ FeatureXSAVES,
+ FeatureLAHFSAHF
+]>;
+def : CannonlakeProc<"cannonlake">;
+def : CannonlakeProc<"cnl">;
// AMD CPUs.
OpenPOWER on IntegriCloud