[llvm] r320266 - [X86] Tag LOCK/REX64/DATA16/DATA32 instruction prefix scheduler classes

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Sat Dec 9 13:27:03 PST 2017


Author: rksimon
Date: Sat Dec  9 13:27:03 2017
New Revision: 320266

URL: http://llvm.org/viewvc/llvm-project?rev=320266&view=rev
Log:
[X86] Tag LOCK/REX64/DATA16/DATA32 instruction prefix scheduler classes

Modified:
    llvm/trunk/lib/Target/X86/X86InstrInfo.td

Modified: llvm/trunk/lib/Target/X86/X86InstrInfo.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrInfo.td?rev=320266&r1=320265&r2=320266&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86InstrInfo.td (original)
+++ llvm/trunk/lib/Target/X86/X86InstrInfo.td Sat Dec  9 13:27:03 2017
@@ -2036,19 +2036,23 @@ def CMPXCHG16B : RI<0xC7, MRM1m, (outs),
 
 
 // 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




More information about the llvm-commits mailing list