BackendX64/RegAlloc: Corrected code emitted by EmitMove for XMM->Spill case

This commit is contained in:
MerryMage 2016-08-06 17:11:58 +01:00
parent 8cc4fe8a10
commit 8754728a82

View file

@ -410,7 +410,7 @@ void RegAlloc::EmitMove(HostLoc to, HostLoc from) {
if (HostLocIsXMM(to) && HostLocIsSpill(from)) { if (HostLocIsXMM(to) && HostLocIsSpill(from)) {
code->MOVSD(HostLocToX64(to), SpillToOpArg(from)); code->MOVSD(HostLocToX64(to), SpillToOpArg(from));
} else if (HostLocIsSpill(to) && HostLocIsXMM(from)) { } else if (HostLocIsSpill(to) && HostLocIsXMM(from)) {
code->MOVSD(HostLocToX64(to), SpillToOpArg(from)); code->MOVSD(SpillToOpArg(to), HostLocToX64(from));
} else if (HostLocIsXMM(to) && HostLocIsXMM(from)) { } else if (HostLocIsXMM(to) && HostLocIsXMM(from)) {
code->MOVAPS(HostLocToX64(to), Gen::R(HostLocToX64(from))); code->MOVAPS(HostLocToX64(to), Gen::R(HostLocToX64(from)));
} else if (HostLocIsGPR(to) && HostLocIsSpill(from)) { } else if (HostLocIsGPR(to) && HostLocIsSpill(from)) {