llvm.org GIT mirror llvm / fea666b
Annotate X86InstrCMovSetCC.td with SchedRW lists. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177459 91177308-0d34-0410-b5e6-96231b3b80d8 Jakob Stoklund Olesen 7 years ago
1 changed file(s) with 5 addition(s) and 4 deletion(s). Raw diff Collapse all Expand all
1515 // SetCC instructions.
1616 multiclass CMOV opc, string Mnemonic, PatLeaf CondNode> {
1717 let Uses = [EFLAGS], Predicates = [HasCMov], Constraints = "$src1 = $dst",
18 isCommutable = 1 in {
18 isCommutable = 1, SchedRW = [WriteALU] in {
1919 def NAME#16rr
2020 : I
2121 !strconcat(Mnemonic, "{w}\t{$src2, $dst|$dst, $src2}"),
3636 IIC_CMOV32_RR>, TB;
3737 }
3838
39 let Uses = [EFLAGS], Predicates = [HasCMov], Constraints = "$src1 = $dst" in {
39 let Uses = [EFLAGS], Predicates = [HasCMov], Constraints = "$src1 = $dst",
40 SchedRW = [WriteALULd, ReadAfterLd] in {
4041 def NAME#16rm
4142 : I
4243 !strconcat(Mnemonic, "{w}\t{$src2, $dst|$dst, $src2}"),
8283 def r : I
8384 !strconcat(Mnemonic, "\t$dst"),
8485 [(set GR8:$dst, (X86setcc OpNode, EFLAGS))],
85 IIC_SET_R>, TB;
86 IIC_SET_R>, TB, Sched<[WriteALU]>;
8687 def m : I
8788 !strconcat(Mnemonic, "\t$dst"),
8889 [(store (X86setcc OpNode, EFLAGS), addr:$dst)],
89 IIC_SET_M>, TB;
90 IIC_SET_M>, TB, Sched<[WriteALU, WriteStore]>;
9091 } // Uses = [EFLAGS]
9192 }
9293