From: Simon Pilgrim Date: Sat, 9 Dec 2017 20:16:37 +0000 (+0000) Subject: [X86] Tag REP/REPNE prefix instructions as microcoded scheduler classes X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=68b3779ab1e605f3eaa31059fad40f589b3440ec;p=llvm [X86] Tag REP/REPNE prefix instructions as microcoded scheduler classes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@320263 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/X86/X86InstrInfo.td b/lib/Target/X86/X86InstrInfo.td index 3e4c3b9e287..bbec40393c0 100644 --- a/lib/Target/X86/X86InstrInfo.td +++ b/lib/Target/X86/X86InstrInfo.td @@ -2051,15 +2051,14 @@ def DATA32_PREFIX : I<0x66, RawFrm, (outs), (ins), "data32", []>, 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