diff options
Diffstat (limited to 'llvm/lib/Target/X86/X86.td')
-rw-r--r-- | llvm/lib/Target/X86/X86.td | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/llvm/lib/Target/X86/X86.td b/llvm/lib/Target/X86/X86.td index 2c064c43d9d..9f0d8aa0d35 100644 --- a/llvm/lib/Target/X86/X86.td +++ b/llvm/lib/Target/X86/X86.td @@ -305,8 +305,16 @@ def FeatureFastLZCNT : SubtargetFeature< "fast-lzcnt", "HasFastLZCNT", "true", "LZCNT instructions are as fast as most simple integer ops">; - - +// If the target can efficiently decode NOPs upto 11-bytes in length. +def FeatureFast11ByteNOP + : SubtargetFeature< + "fast-11bytenop", "HasFast11ByteNOP", "true", + "Target can quickly decode up to 11 byte NOPs">; +// If the target can efficiently decode NOPs upto 15-bytes in length. +def FeatureFast15ByteNOP + : SubtargetFeature< + "fast-15bytenop", "HasFast15ByteNOP", "true", + "Target can quickly decode up to 15 byte NOPs">; // Sandy Bridge and newer processors can use SHLD with the same source on both // inputs to implement rotate to avoid the partial flag update of the normal // rotate instructions. @@ -849,7 +857,8 @@ def : Proc<"btver1", [ FeatureLZCNT, FeaturePOPCNT, FeatureSlowSHLD, - FeatureLAHFSAHF + FeatureLAHFSAHF, + FeatureFast15ByteNOP ]>; // Jaguar @@ -874,6 +883,7 @@ def : ProcessorModel<"btver2", BtVer2Model, [ FeatureXSAVEOPT, FeatureSlowSHLD, FeatureLAHFSAHF, + FeatureFast15ByteNOP, FeatureFastPartialYMMorZMMWrite ]>; @@ -897,6 +907,7 @@ def : Proc<"bdver1", [ FeatureLWP, FeatureSlowSHLD, FeatureLAHFSAHF, + FeatureFast11ByteNOP, FeatureMacroFusion ]>; // Piledriver @@ -923,6 +934,7 @@ def : Proc<"bdver2", [ FeatureFMA, FeatureSlowSHLD, FeatureLAHFSAHF, + FeatureFast11ByteNOP, FeatureMacroFusion ]>; @@ -952,6 +964,7 @@ def : Proc<"bdver3", [ FeatureSlowSHLD, FeatureFSGSBase, FeatureLAHFSAHF, + FeatureFast11ByteNOP, FeatureMacroFusion ]>; @@ -981,6 +994,7 @@ def : Proc<"bdver4", [ FeatureSlowSHLD, FeatureFSGSBase, FeatureLAHFSAHF, + FeatureFast11ByteNOP, FeatureMWAITX, FeatureMacroFusion ]>; @@ -1003,6 +1017,7 @@ def: ProcessorModel<"znver1", Znver1Model, [ FeatureFastLZCNT, FeatureLAHFSAHF, FeatureLZCNT, + FeatureFast15ByteNOP, FeatureMacroFusion, FeatureMMX, FeatureMOVBE, |