summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86.td
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@gmail.com>2015-08-08 07:20:04 +0000
committerCraig Topper <craig.topper@gmail.com>2015-08-08 07:20:04 +0000
commit01dd4ea3347c987387f162b85a9ff1fe84d92aa1 (patch)
treef99e51c72a54a4a63d66a036cfc438f5b59b0ea2 /llvm/lib/Target/X86/X86.td
parent9592df79019f8fc77fa6ff68bed63689e7b24eb0 (diff)
downloadbcm5719-llvm-01dd4ea3347c987387f162b85a9ff1fe84d92aa1.tar.gz
bcm5719-llvm-01dd4ea3347c987387f162b85a9ff1fe84d92aa1.zip
Add SlowBTMem to Sandy Bridge and newer Intel CPUs. Reading through Agner Fog's table suggests there have been no improvements to these processors relative to Westmere for bit test instructions.
llvm-svn: 244395
Diffstat (limited to 'llvm/lib/Target/X86/X86.td')
-rw-r--r--llvm/lib/Target/X86/X86.td14
1 files changed, 9 insertions, 5 deletions
diff --git a/llvm/lib/Target/X86/X86.td b/llvm/lib/Target/X86/X86.td
index 2965cefe3d3..9a09f3e38cf 100644
--- a/llvm/lib/Target/X86/X86.td
+++ b/llvm/lib/Target/X86/X86.td
@@ -307,6 +307,7 @@ def : WestmereProc<"westmere">;
class SandyBridgeProc<string Name> : ProcessorModel<Name, SandyBridgeModel, [
FeatureAVX,
FeatureCMPXCHG16B,
+ FeatureSlowBTMem,
FeatureFastUAMem,
FeatureSlowUAMem32,
FeaturePOPCNT,
@@ -319,6 +320,7 @@ def : SandyBridgeProc<"corei7-avx">; // Legacy alias.
class IvyBridgeProc<string Name> : ProcessorModel<Name, SandyBridgeModel, [
FeatureAVX,
FeatureCMPXCHG16B,
+ FeatureSlowBTMem,
FeatureFastUAMem,
FeatureSlowUAMem32,
FeaturePOPCNT,
@@ -334,6 +336,7 @@ def : IvyBridgeProc<"core-avx-i">; // Legacy alias.
class HaswellProc<string Name> : ProcessorModel<Name, HaswellModel, [
FeatureAVX2,
FeatureCMPXCHG16B,
+ FeatureSlowBTMem,
FeatureFastUAMem,
FeaturePOPCNT,
FeatureAES,
@@ -356,6 +359,7 @@ def : HaswellProc<"core-avx2">; // Legacy alias.
class BroadwellProc<string Name> : ProcessorModel<Name, HaswellModel, [
FeatureAVX2,
FeatureCMPXCHG16B,
+ FeatureSlowBTMem,
FeatureFastUAMem,
FeaturePOPCNT,
FeatureAES,
@@ -390,11 +394,11 @@ def : KnightsLandingProc<"knl">;
class SkylakeProc<string Name> : ProcessorModel<Name, HaswellModel,
[FeatureAVX512, FeatureCDI,
FeatureDQI, FeatureBWI, FeatureVLX,
- FeatureCMPXCHG16B, FeatureFastUAMem, FeaturePOPCNT,
- FeatureAES, FeaturePCLMUL, FeatureRDRAND, FeatureF16C,
- FeatureFSGSBase, FeatureMOVBE, FeatureLZCNT, FeatureBMI,
- FeatureBMI2, FeatureFMA, FeatureRTM, FeatureHLE,
- FeatureSlowIncDec, FeatureMPX]>;
+ FeatureCMPXCHG16B, FeatureSlowBTMem, FeatureFastUAMem,
+ FeaturePOPCNT, FeatureAES, FeaturePCLMUL, FeatureRDRAND,
+ FeatureF16C, FeatureFSGSBase, FeatureMOVBE, FeatureLZCNT,
+ FeatureBMI, FeatureBMI2, FeatureFMA, FeatureRTM,
+ FeatureHLE, FeatureSlowIncDec, FeatureMPX]>;
def : SkylakeProc<"skylake">;
def : SkylakeProc<"skx">; // Legacy alias.
OpenPOWER on IntegriCloud