summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@intel.com>2017-11-19 01:12:00 +0000
committerCraig Topper <craig.topper@intel.com>2017-11-19 01:12:00 +0000
commit81037f385e346da03c94eadd9fa336e1ab3ea2cc (patch)
tree2d80a43d288fcc32cbe090efc2baf78b0ae013d3 /llvm/lib/Target
parent17078ff0e0967d0d2fbb2d0cf3d66a71fdbe5706 (diff)
downloadbcm5719-llvm-81037f385e346da03c94eadd9fa336e1ab3ea2cc.tar.gz
bcm5719-llvm-81037f385e346da03c94eadd9fa336e1ab3ea2cc.zip
[X86] Add skeleton support for icelake CPU.
There are several patches out for review right now to implement Icelake features. This adds a CPU to collect them under. llvm-svn: 318612
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r--llvm/lib/Target/X86/X86.td12
-rw-r--r--llvm/lib/Target/X86/X86Subtarget.h3
2 files changed, 14 insertions, 1 deletions
diff --git a/llvm/lib/Target/X86/X86.td b/llvm/lib/Target/X86/X86.td
index 34f2956e0c0..573d4413717 100644
--- a/llvm/lib/Target/X86/X86.td
+++ b/llvm/lib/Target/X86/X86.td
@@ -317,6 +317,8 @@ def ProcIntelSKX : SubtargetFeature<"skx", "X86ProcFamily",
"IntelSKX", "Intel Skylake Server processors">;
def ProcIntelCNL : SubtargetFeature<"cannonlake", "X86ProcFamily",
"IntelCannonlake", "Intel Cannonlake processors">;
+def ProcIntelICL : SubtargetFeature<"icelake", "X86ProcFamily",
+ "IntelIcelake", "Intel Icelake processors">;
class Proc<string Name, list<SubtargetFeature> Features>
: ProcessorModel<Name, GenericModel, Features>;
@@ -662,6 +664,16 @@ class CannonlakeProc<string Name> : ProcModel<Name, HaswellModel,
]>;
def : CannonlakeProc<"cannonlake">;
+def ICLFeatures : ProcessorFeatures<CNLFeatures.Value, [
+ // TODO: Insert features here.
+]>;
+
+class IcelakeProc<string Name> : ProcModel<Name, SkylakeServerModel,
+ ICLFeatures.Value, [
+ ProcIntelICL
+]>;
+def : IcelakeProc<"icelake">;
+
// AMD CPUs.
def : Proc<"k6", [FeatureX87, FeatureSlowUAMem16, FeatureMMX]>;
diff --git a/llvm/lib/Target/X86/X86Subtarget.h b/llvm/lib/Target/X86/X86Subtarget.h
index bd164e72ad5..56587bc45fb 100644
--- a/llvm/lib/Target/X86/X86Subtarget.h
+++ b/llvm/lib/Target/X86/X86Subtarget.h
@@ -70,7 +70,8 @@ protected:
IntelSkylake,
IntelKNL,
IntelSKX,
- IntelCannonlake
+ IntelCannonlake,
+ IntelIcelake,
};
/// X86 processor family: Intel Atom, and others
OpenPOWER on IntegriCloud