diff options
| author | Craig Topper <craig.topper@intel.com> | 2017-10-13 18:10:17 +0000 |
|---|---|---|
| committer | Craig Topper <craig.topper@intel.com> | 2017-10-13 18:10:17 +0000 |
| commit | 5d692917f4c64ea33cfd46d8df1ce2970b2014a1 (patch) | |
| tree | 9cb3a66485a730ff62b4ab9c06738689704d8d01 /llvm/lib/Target | |
| parent | 8bf95e467860eb9f0070311e2d54ddd0708bbcc1 (diff) | |
| download | bcm5719-llvm-5d692917f4c64ea33cfd46d8df1ce2970b2014a1.tar.gz bcm5719-llvm-5d692917f4c64ea33cfd46d8df1ce2970b2014a1.zip | |
[X86] Add initial skeleton support for knm cpu
This adds Intel's Knights Mill CPU to valid CPU names for the backend. For now its an alias of "knl", but ultimately we need to support AVX5124FMAPS and AVX5124VNNIW instruction sets for it.
Differential Revision: https://reviews.llvm.org/D38811
llvm-svn: 315722
Diffstat (limited to 'llvm/lib/Target')
| -rw-r--r-- | llvm/lib/Target/X86/X86.td | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/llvm/lib/Target/X86/X86.td b/llvm/lib/Target/X86/X86.td index dbe3620ee8f..07e78adf928 100644 --- a/llvm/lib/Target/X86/X86.td +++ b/llvm/lib/Target/X86/X86.td @@ -610,10 +610,7 @@ class SkylakeClientProc<string Name> : ProcModel<Name, SkylakeClientModel, ]>; def : SkylakeClientProc<"skylake">; -// FIXME: define KNL model -class KnightsLandingProc<string Name> : ProcModel<Name, HaswellModel, - IVBFeatures.Value, [ - ProcIntelKNL, +def KNLFeatures : ProcessorFeatures<IVBFeatures.Value, [ FeatureAVX512, FeatureERI, FeatureCDI, @@ -625,12 +622,26 @@ class KnightsLandingProc<string Name> : ProcModel<Name, HaswellModel, FeatureLZCNT, FeatureBMI, FeatureBMI2, - FeatureFMA, + FeatureFMA +]>; + +// FIXME: define KNL model +class KnightsLandingProc<string Name> : ProcModel<Name, HaswellModel, + KNLFeatures.Value, [ + ProcIntelKNL, FeatureSlowTwoMemOps, FeatureFastPartialYMMorZMMWrite ]>; def : KnightsLandingProc<"knl">; +class KnightsMillProc<string Name> : ProcModel<Name, HaswellModel, + KNLFeatures.Value, [ + ProcIntelKNL, + FeatureSlowTwoMemOps, + FeatureFastPartialYMMorZMMWrite +]>; +def : KnightsMillProc<"knm">; // TODO Add AVX5124FMAPS/AVX5124VNNIW features + def SKXFeatures : ProcessorFeatures<SKLFeatures.Value, [ FeatureAVX512, FeatureCDI, |

