[llvm] r320263 - [X86] Tag REP/REPNE prefix instructions as microcoded scheduler classes

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Sat Dec 9 12:16:37 PST 2017


Author: rksimon
Date: Sat Dec  9 12:16:37 2017
New Revision: 320263

URL: http://llvm.org/viewvc/llvm-project?rev=320263&view=rev
Log:
[X86] Tag REP/REPNE prefix instructions as microcoded 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=320263&r1=320262&r2=320263&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86InstrInfo.td (original)
+++ llvm/trunk/lib/Target/X86/X86InstrInfo.td Sat Dec  9 12:16:37 2017
@@ -2051,15 +2051,14 @@ def DATA32_PREFIX : I<0x66, RawFrm, (out
                      Requires<[In16BitMode]>;
 
 // Repeat string operation instruction prefixes
-// These uses the DF flag in the EFLAGS register to inc or dec ECX
-let Defs = [ECX], Uses = [ECX,EFLAGS] in {
+// These use the DF flag in the EFLAGS register to inc or dec ECX
+let Defs = [ECX], Uses = [ECX,EFLAGS], SchedRW = [WriteMicrocoded] in {
 // Repeat (used with INS, OUTS, MOVS, LODS and STOS)
 def REP_PREFIX : I<0xF3, RawFrm, (outs),  (ins), "rep", []>;
 // Repeat while not equal (used with CMPS and SCAS)
 def REPNE_PREFIX : I<0xF2, RawFrm, (outs),  (ins), "repne", []>;
 }
 
-
 // String manipulation instructions
 let SchedRW = [WriteMicrocoded] in {
 // These uses the DF flag in the EFLAGS register to inc or dec EDI and ESI




More information about the llvm-commits mailing list