summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@intel.com>2018-10-24 19:24:44 +0000
committerCraig Topper <craig.topper@intel.com>2018-10-24 19:24:44 +0000
commit7bb8c2e6e555ce4a0d75a41f49c081deae93d79b (patch)
tree595379844804a3461e2fbaf1d5ebbd574d28cf18
parentc5bb362b1328dbce6cba55452bce12eed8f72663 (diff)
downloadbcm5719-llvm-7bb8c2e6e555ce4a0d75a41f49c081deae93d79b.tar.gz
bcm5719-llvm-7bb8c2e6e555ce4a0d75a41f49c081deae93d79b.zip
[X86] Explicitly list all KNL features of inheriting from IVB. NFC
I'm not sure all the microarchitectural tuning flags that have been added to IVBFeatures are relevant for KNL. Separating will allow us to see and audit them. There might even be some simplification opportunities in the Sandy Bridge through Icelake inheritance line without KNL using the same chain. llvm-svn: 345183
-rw-r--r--llvm/lib/Target/X86/X86.td24
1 files changed, 23 insertions, 1 deletions
diff --git a/llvm/lib/Target/X86/X86.td b/llvm/lib/Target/X86/X86.td
index 6bf6aae95c0..9a12a7237e4 100644
--- a/llvm/lib/Target/X86/X86.td
+++ b/llvm/lib/Target/X86/X86.td
@@ -808,7 +808,29 @@ class SkylakeClientProc<string Name> : ProcModel<Name, SkylakeClientModel,
]>;
def : SkylakeClientProc<"skylake">;
-def KNLFeatures : ProcessorFeatures<IVBFeatures.Value, [
+def KNLFeatures : ProcessorFeatures<[], [
+ FeatureX87,
+ FeatureCMOV,
+ FeatureMMX,
+ FeatureFXSR,
+ FeatureNOPL,
+ Feature64Bit,
+ FeatureCMPXCHG16B,
+ FeaturePOPCNT,
+ FeatureSlowDivide64,
+ FeaturePCLMUL,
+ FeatureXSAVE,
+ FeatureXSAVEOPT,
+ FeatureLAHFSAHF,
+ FeatureSlow3OpsLEA,
+ FeatureFastScalarFSQRT,
+ FeatureFastSHLDRotate,
+ FeatureSlowIncDec,
+ FeatureMergeToThreeWayBranch,
+ FeatureMacroFusion,
+ FeatureRDRAND,
+ FeatureF16C,
+ FeatureFSGSBase,
FeatureAVX512,
FeatureERI,
FeatureCDI,
OpenPOWER on IntegriCloud