diff options
author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2017-12-09 21:27:03 +0000 |
---|---|---|
committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2017-12-09 21:27:03 +0000 |
commit | e049038692475b7cc5d35535da2d32098a73984e (patch) | |
tree | 07dd45f28c99344ee4164aa4c14f6bd1391a1901 /llvm/lib | |
parent | b2b93f620471d2805861275844ceb63201347ccf (diff) | |
download | bcm5719-llvm-e049038692475b7cc5d35535da2d32098a73984e.tar.gz bcm5719-llvm-e049038692475b7cc5d35535da2d32098a73984e.zip |
[X86] Tag LOCK/REX64/DATA16/DATA32 instruction prefix scheduler classes
llvm-svn: 320266
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/Target/X86/X86InstrInfo.td | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/llvm/lib/Target/X86/X86InstrInfo.td b/llvm/lib/Target/X86/X86InstrInfo.td index bbec40393c0..806a2e0380f 100644 --- a/llvm/lib/Target/X86/X86InstrInfo.td +++ b/llvm/lib/Target/X86/X86InstrInfo.td @@ -2036,19 +2036,23 @@ def CMPXCHG16B : RI<0xC7, MRM1m, (outs), (ins i128mem:$dst), // Lock instruction prefix +let SchedRW = [WriteMicrocoded] in def LOCK_PREFIX : I<0xF0, RawFrm, (outs), (ins), "lock", []>; +let SchedRW = [WriteNop] in { + // Rex64 instruction prefix -def REX64_PREFIX : I<0x48, RawFrm, (outs), (ins), "rex64", []>, +def REX64_PREFIX : I<0x48, RawFrm, (outs), (ins), "rex64", [], IIC_NOP>, Requires<[In64BitMode]>; // Data16 instruction prefix -def DATA16_PREFIX : I<0x66, RawFrm, (outs), (ins), "data16", []>, +def DATA16_PREFIX : I<0x66, RawFrm, (outs), (ins), "data16", [], IIC_NOP>, Requires<[Not16BitMode]>; // Data instruction prefix -def DATA32_PREFIX : I<0x66, RawFrm, (outs), (ins), "data32", []>, +def DATA32_PREFIX : I<0x66, RawFrm, (outs), (ins), "data32", [], IIC_NOP>, Requires<[In16BitMode]>; +} // SchedRW // Repeat string operation instruction prefixes // These use the DF flag in the EFLAGS register to inc or dec ECX |