diff options
| author | Craig Topper <craig.topper@intel.com> | 2017-08-29 05:14:27 +0000 |
|---|---|---|
| committer | Craig Topper <craig.topper@intel.com> | 2017-08-29 05:14:27 +0000 |
| commit | 62c47a2aa50442e102252087a78219736376eb7e (patch) | |
| tree | 493d452eb2fde1762ab240ad76762e311fee9f12 /llvm/lib/Target/X86/X86Subtarget.h | |
| parent | af6e7e2b0cf8d786ee1e488ce87f18f826c211b6 (diff) | |
| download | bcm5719-llvm-62c47a2aa50442e102252087a78219736376eb7e.tar.gz bcm5719-llvm-62c47a2aa50442e102252087a78219736376eb7e.zip | |
Mark Knights Landing as having slow two memory operand instructions
Summary: Knights Landing, because it is Atom derived, has slow two memory operand instructions. Mark the Knights Landing CPU model accordingly.
Patch by David Zarzycki.
Reviewers: craig.topper
Reviewed By: craig.topper
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D37224
llvm-svn: 311979
Diffstat (limited to 'llvm/lib/Target/X86/X86Subtarget.h')
| -rw-r--r-- | llvm/lib/Target/X86/X86Subtarget.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/llvm/lib/Target/X86/X86Subtarget.h b/llvm/lib/Target/X86/X86Subtarget.h index 2d9eef978df..e1e1cdfb8da 100644 --- a/llvm/lib/Target/X86/X86Subtarget.h +++ b/llvm/lib/Target/X86/X86Subtarget.h @@ -245,9 +245,9 @@ protected: /// a stall when returning too early. bool PadShortFunctions; - /// True if the Calls with memory reference should be converted - /// to a register-based indirect call. - bool CallRegIndirect; + /// True if two memory operand instructions should use a temporary register + /// instead. + bool SlowTwoMemOps; /// True if the LEA instruction inputs have to be ready at address generation /// (AG) time. @@ -492,7 +492,7 @@ public: bool hasSlowDivide32() const { return HasSlowDivide32; } bool hasSlowDivide64() const { return HasSlowDivide64; } bool padShortFunctions() const { return PadShortFunctions; } - bool callRegIndirect() const { return CallRegIndirect; } + bool slowTwoMemOps() const { return SlowTwoMemOps; } bool LEAusesAG() const { return LEAUsesAG; } bool slowLEA() const { return SlowLEA; } bool slow3OpsLEA() const { return Slow3OpsLEA; } |

