diff options
Diffstat (limited to 'llvm/lib/Target/X86')
| -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, |

