From: Simon Pilgrim Date: Sat, 9 Dec 2017 21:27:03 +0000 (+0000) Subject: [X86] Tag LOCK/REX64/DATA16/DATA32 instruction prefix scheduler classes X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=386a961c3ac1841259701712bb536ea5e06a2109;p=llvm [X86] Tag LOCK/REX64/DATA16/DATA32 instruction prefix scheduler classes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@320266 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/X86/X86InstrInfo.td b/lib/Target/X86/X86InstrInfo.td index bbec40393c0..806a2e0380f 100644 --- a/lib/Target/X86/X86InstrInfo.td +++ b/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