summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@intel.com>2018-04-19 19:25:24 +0000
committerCraig Topper <craig.topper@intel.com>2018-04-19 19:25:24 +0000
commitbc895a3afcee82a52a1dc61bc74462f081778061 (patch)
tree8e88ee962f6da3e78a0b6806d725fc66aac0f954 /llvm/lib/Target
parent32e62f9c5b85d481afbe277ecdb65476372b3411 (diff)
downloadbcm5719-llvm-bc895a3afcee82a52a1dc61bc74462f081778061.tar.gz
bcm5719-llvm-bc895a3afcee82a52a1dc61bc74462f081778061.zip
[X86] Enable popcnt false dependency breaking on Silvermont and Goldmont.
Silvermont and Goldmont have the same issue on popcnt as Sandy Bridge, Haswell, Broadwell, and Skylake. Believe it is fixed in Goldmont Plus. llvm-svn: 330358
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r--llvm/lib/Target/X86/X86.td8
1 files changed, 6 insertions, 2 deletions
diff --git a/llvm/lib/Target/X86/X86.td b/llvm/lib/Target/X86/X86.td
index aa1470ebf51..7ca77b13942 100644
--- a/llvm/lib/Target/X86/X86.td
+++ b/llvm/lib/Target/X86/X86.td
@@ -563,7 +563,8 @@ class SilvermontProc<string Name> : ProcessorModel<Name, SLMModel, [
FeatureSlowIncDec,
FeatureSlowPMULLD,
FeatureRDRAND,
- FeatureLAHFSAHF
+ FeatureLAHFSAHF,
+ FeaturePOPCNTFalseDeps
]>;
def : SilvermontProc<"silvermont">;
def : SilvermontProc<"slm">; // Legacy alias.
@@ -607,7 +608,10 @@ def GLMFeatures : ProcessorFeatures<[], [
]>;
class GoldmontProc<string Name> : ProcModel<Name, SLMModel,
- GLMFeatures.Value, [ ProcIntelGLM ]>;
+ GLMFeatures.Value, [
+ ProcIntelGLM,
+ FeaturePOPCNTFalseDeps
+]>;
def : GoldmontProc<"goldmont">;
class GoldmontPlusProc<string Name> : ProcModel<Name, SLMModel,
OpenPOWER on IntegriCloud