forked from OSchip/llvm-project
[X86][SchedModel] Fixed missing/wrong scheduling model found by code inspection.
Source: Agner Fog's Instruction tables. Related to <rdar://problem/15607571> llvm-svn: 215045
This commit is contained in:
parent
4f1fc35b13
commit
0233d49574
|
@ -199,11 +199,11 @@ multiclass sse12_cvt_pint_3addr<bits<8> opc, RegisterClass SrcRC,
|
|||
def irr : MMXPI<opc, MRMSrcReg, (outs DstRC:$dst),
|
||||
(ins DstRC:$src1, SrcRC:$src2), asm,
|
||||
[(set DstRC:$dst, (Int DstRC:$src1, SrcRC:$src2))],
|
||||
NoItinerary, d>;
|
||||
NoItinerary, d>, Sched<[WriteCvtI2F]>;
|
||||
def irm : MMXPI<opc, MRMSrcMem, (outs DstRC:$dst),
|
||||
(ins DstRC:$src1, x86memop:$src2), asm,
|
||||
[(set DstRC:$dst, (Int DstRC:$src1, (ld_frag addr:$src2)))],
|
||||
NoItinerary, d>;
|
||||
NoItinerary, d>, Sched<[WriteCvtI2FLd]>;
|
||||
}
|
||||
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
|
|
@ -1017,7 +1017,7 @@ def MOVUPDmr : PDI<0x11, MRMDestMem, (outs), (ins f128mem:$dst, VR128:$src),
|
|||
|
||||
// For disassembler
|
||||
let isCodeGenOnly = 1, ForceDisassemble = 1, hasSideEffects = 0,
|
||||
SchedRW = [WriteMove] in {
|
||||
SchedRW = [WriteFShuffle] in {
|
||||
def MOVAPSrr_REV : PSI<0x29, MRMDestReg, (outs VR128:$dst), (ins VR128:$src),
|
||||
"movaps\t{$src, $dst|$dst, $src}", [],
|
||||
IIC_SSE_MOVA_P_RR>;
|
||||
|
|
Loading…
Reference in New Issue