[PATCH] D44836: [X86] Remove ReadAfterLd from BMI and TBM instructions that don't have a register operand in their memory form
Craig Topper via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Mar 23 11:22:48 PDT 2018
craig.topper created this revision.
craig.topper added reviewers: RKSimon, GGanesh.
The memory form of these instructions only read an input from memory. They don't have any register operands.
https://reviews.llvm.org/D44836
Files:
lib/Target/X86/X86InstrInfo.td
lib/Target/X86/X86ScheduleZnver1.td
Index: lib/Target/X86/X86ScheduleZnver1.td
===================================================================
--- lib/Target/X86/X86ScheduleZnver1.td
+++ lib/Target/X86/X86ScheduleZnver1.td
@@ -563,7 +563,7 @@
// r,r.
def : InstRW<[ZnWriteALULat2], (instregex "BLS(I|MSK|R)(32|64)rr")>;
// r,m.
-def : InstRW<[ZnWriteALULat2Ld, ReadAfterLd], (instregex "BLS(I|MSK|R)(32|64)rm")>;
+def : InstRW<[ZnWriteALULat2Ld], (instregex "BLS(I|MSK|R)(32|64)rm")>;
// BEXTR.
// r,r,r.
Index: lib/Target/X86/X86InstrInfo.td
===================================================================
--- lib/Target/X86/X86InstrInfo.td
+++ lib/Target/X86/X86InstrInfo.td
@@ -2341,7 +2341,7 @@
let mayLoad = 1 in
def rm : I<0xF3, MemMRM, (outs RC:$dst), (ins x86memop:$src),
!strconcat(mnemonic, "\t{$src, $dst|$dst, $src}"),
- [], IIC_UNARY_MEM>, T8PS, VEX_4V, Sched<[WriteALULd, ReadAfterLd]>;
+ [], IIC_UNARY_MEM>, T8PS, VEX_4V, Sched<[WriteALULd]>;
}
}
@@ -2535,7 +2535,7 @@
!strconcat(OpcodeStr,
"\t{$cntl, $src1, $dst|$dst, $src1, $cntl}"),
[(set RC:$dst, (Int (ld_frag addr:$src1), immoperator:$cntl))],
- IIC_BIN_MEM>, XOP, XOPA, Sched<[WriteALULd, ReadAfterLd]>;
+ IIC_BIN_MEM>, XOP, XOPA, Sched<[WriteALULd]>;
}
defm BEXTRI32 : tbm_ternary_imm_intr<0x10, GR32, "bextr{l}", i32mem, loadi32,
@@ -2555,7 +2555,7 @@
let mayLoad = 1 in
def rm : I<opc, FormMem, (outs RC:$dst), (ins x86memop:$src),
!strconcat(OpcodeStr,"\t{$src, $dst|$dst, $src}"),
- [], IIC_BIN_MEM>, XOP_4V, XOP9, Sched<[WriteALULd, ReadAfterLd]>;
+ [], IIC_BIN_MEM>, XOP_4V, XOP9, Sched<[WriteALULd]>;
}
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D44836.139618.patch
Type: text/x-patch
Size: 1748 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180323/f4266dc8/attachment.bin>
More information about the llvm-commits
mailing list