[llvm] r315859 - [X86] Add FeatureSlowBTMem to Haswell, Broadwell, Skylake, Cannonlake, and Knights Landing CPUs.

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Sun Oct 15 09:41:15 PDT 2017


Author: ctopper
Date: Sun Oct 15 09:41:15 2017
New Revision: 315859

URL: http://llvm.org/viewvc/llvm-project?rev=315859&view=rev
Log:
[X86] Add FeatureSlowBTMem to Haswell, Broadwell, Skylake, Cannonlake, and Knights Landing CPUs.

Summary: I see nothing in Agner Fog's tables to indicate that this improved between Ivy Bridge and Haswell. It's also set for all Atom CPUs so I assume KNL should have it too.

Reviewers: RKSimon, zvi, gadi.haber

Reviewed By: gadi.haber

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D38890

Modified:
    llvm/trunk/lib/Target/X86/X86.td

Modified: llvm/trunk/lib/Target/X86/X86.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86.td?rev=315859&r1=315858&r2=315859&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86.td (original)
+++ llvm/trunk/lib/Target/X86/X86.td Sun Oct 15 09:41:15 2017
@@ -579,7 +579,8 @@ def HSWFeatures : ProcessorFeatures<IVBF
 
 class HaswellProc<string Name> : ProcModel<Name, HaswellModel,
                                            HSWFeatures.Value, [
-  ProcIntelHSW
+  ProcIntelHSW,
+  FeatureSlowBTMem
 ]>;
 def : HaswellProc<"haswell">;
 def : HaswellProc<"core-avx2">; // Legacy alias.
@@ -590,7 +591,8 @@ def BDWFeatures : ProcessorFeatures<HSWF
 ]>;
 class BroadwellProc<string Name> : ProcModel<Name, HaswellModel,
                                              BDWFeatures.Value, [
-  ProcIntelBDW
+  ProcIntelBDW,
+  FeatureSlowBTMem
 ]>;
 def : BroadwellProc<"broadwell">;
 
@@ -606,7 +608,8 @@ def SKLFeatures : ProcessorFeatures<BDWF
 
 class SkylakeClientProc<string Name> : ProcModel<Name, SkylakeClientModel,
                                                  SKLFeatures.Value, [
-  ProcIntelSKL
+  ProcIntelSKL,
+  FeatureSlowBTMem
 ]>;
 def : SkylakeClientProc<"skylake">;
 
@@ -629,6 +632,7 @@ def KNLFeatures : ProcessorFeatures<IVBF
 class KnightsLandingProc<string Name> : ProcModel<Name, HaswellModel,
                                                   KNLFeatures.Value, [
   ProcIntelKNL,
+  FeatureSlowBTMem,
   FeatureSlowTwoMemOps,
   FeatureFastPartialYMMorZMMWrite
 ]>;
@@ -637,6 +641,7 @@ def : KnightsLandingProc<"knl">;
 class KnightsMillProc<string Name> : ProcModel<Name, HaswellModel,
                                                KNLFeatures.Value, [
   ProcIntelKNL,
+  FeatureSlowBTMem,
   FeatureSlowTwoMemOps,
   FeatureFastPartialYMMorZMMWrite
 ]>;
@@ -654,8 +659,9 @@ def SKXFeatures : ProcessorFeatures<SKLF
 
 class SkylakeServerProc<string Name> : ProcModel<Name, SkylakeServerModel,
                                                  SKXFeatures.Value, [
-    ProcIntelSKX
-  ]>;
+  ProcIntelSKX,
+  FeatureSlowBTMem
+]>;
 def : SkylakeServerProc<"skylake-avx512">;
 def : SkylakeServerProc<"skx">; // Legacy alias.
 
@@ -667,7 +673,8 @@ def CNLFeatures : ProcessorFeatures<SKXF
 
 class CannonlakeProc<string Name> : ProcModel<Name, HaswellModel,
                                               CNLFeatures.Value, [
-  ProcIntelCNL
+  ProcIntelCNL,
+  FeatureSlowBTMem
 ]>;
 def : CannonlakeProc<"cannonlake">;
 




More information about the llvm-commits mailing list