summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@gmail.com>2015-10-14 05:37:38 +0000
committerCraig Topper <craig.topper@gmail.com>2015-10-14 05:37:38 +0000
commit0ee356951ae281975774c813b8932422a8d90e94 (patch)
treeaeea86c7f9225f90612e6657f733088a3ca7cf6c
parent87ef39a6a87664a6f01d4bf62cf8d83496421d6f (diff)
downloadbcm5719-llvm-0ee356951ae281975774c813b8932422a8d90e94.tar.gz
bcm5719-llvm-0ee356951ae281975774c813b8932422a8d90e94.zip
[X86] Add XSAVE feature flags to their various processors.
llvm-svn: 250268
-rw-r--r--llvm/lib/Target/X86/X86.td26
1 files changed, 23 insertions, 3 deletions
diff --git a/llvm/lib/Target/X86/X86.td b/llvm/lib/Target/X86/X86.td
index 3379a4254c5..90d84ed8063 100644
--- a/llvm/lib/Target/X86/X86.td
+++ b/llvm/lib/Target/X86/X86.td
@@ -347,7 +347,9 @@ class SandyBridgeProc<string Name> : ProcessorModel<Name, SandyBridgeModel, [
FeatureSlowUAMem32,
FeaturePOPCNT,
FeatureAES,
- FeaturePCLMUL
+ FeaturePCLMUL,
+ FeatureXSAVE,
+ FeatureXSAVEOPT
]>;
def : SandyBridgeProc<"sandybridge">;
def : SandyBridgeProc<"corei7-avx">; // Legacy alias.
@@ -361,6 +363,8 @@ class IvyBridgeProc<string Name> : ProcessorModel<Name, SandyBridgeModel, [
FeaturePOPCNT,
FeatureAES,
FeaturePCLMUL,
+ FeatureXSAVE,
+ FeatureXSAVEOPT,
FeatureRDRAND,
FeatureF16C,
FeatureFSGSBase
@@ -377,6 +381,8 @@ class HaswellProc<string Name> : ProcessorModel<Name, HaswellModel, [
FeatureAES,
FeaturePCLMUL,
FeatureRDRAND,
+ FeatureXSAVE,
+ FeatureXSAVEOPT,
FeatureF16C,
FeatureFSGSBase,
FeatureMOVBE,
@@ -399,6 +405,8 @@ class BroadwellProc<string Name> : ProcessorModel<Name, HaswellModel, [
FeaturePOPCNT,
FeatureAES,
FeaturePCLMUL,
+ FeatureXSAVE,
+ FeatureXSAVEOPT,
FeatureRDRAND,
FeatureF16C,
FeatureFSGSBase,
@@ -454,6 +462,8 @@ class SkylakeProc<string Name> : ProcessorModel<Name, HaswellModel, [
FeaturePOPCNT,
FeatureAES,
FeaturePCLMUL,
+ FeatureXSAVE,
+ FeatureXSAVEOPT,
FeatureRDRAND,
FeatureF16C,
FeatureFSGSBase,
@@ -467,7 +477,9 @@ class SkylakeProc<string Name> : ProcessorModel<Name, HaswellModel, [
FeatureADX,
FeatureRDSEED,
FeatureSlowIncDec,
- FeatureMPX
+ FeatureMPX,
+ FeatureXSAVEC,
+ FeatureXSAVES
]>;
def : SkylakeProc<"skylake">;
def : SkylakeProc<"skx">; // Legacy alias.
@@ -527,6 +539,7 @@ def : Proc<"btver1", [
FeaturePRFCHW,
FeatureLZCNT,
FeaturePOPCNT,
+ FeatureXSAVE,
FeatureSlowSHLD
]>;
@@ -544,6 +557,8 @@ def : ProcessorModel<"btver2", BtVer2Model, [
FeatureMOVBE,
FeatureLZCNT,
FeaturePOPCNT,
+ FeatureXSAVE,
+ FeatureXSAVEOPT,
FeatureSlowSHLD
]>;
@@ -560,6 +575,7 @@ def : Proc<"bdver1", [
FeatureSSE4A,
FeatureLZCNT,
FeaturePOPCNT,
+ FeatureXSAVE,
FeatureSlowSHLD
]>;
// Piledriver
@@ -576,6 +592,7 @@ def : Proc<"bdver2", [
FeatureF16C,
FeatureLZCNT,
FeaturePOPCNT,
+ FeatureXSAVE,
FeatureBMI,
FeatureTBM,
FeatureFMA,
@@ -596,9 +613,11 @@ def : Proc<"bdver3", [
FeatureF16C,
FeatureLZCNT,
FeaturePOPCNT,
+ FeatureXSAVE,
FeatureBMI,
FeatureTBM,
FeatureFMA,
+ FeatureXSAVEOPT,
FeatureSlowSHLD,
FeatureFSGSBase
]>;
@@ -616,11 +635,12 @@ def : Proc<"bdver4", [
FeatureF16C,
FeatureLZCNT,
FeaturePOPCNT,
+ FeatureXSAVE,
FeatureBMI,
FeatureBMI2,
FeatureTBM,
FeatureFMA,
- FeatureSSE4A,
+ FeatureXSAVEOPT,
FeatureFSGSBase
]>;
OpenPOWER on IntegriCloud