Jit64: don't flush clean FPRs
This commit is contained in:
parent
710a0ff435
commit
038ffea369
|
@ -351,11 +351,12 @@ void FPURegCache::StoreFromRegister(int i)
|
||||||
{
|
{
|
||||||
X64Reg xr = regs[i].location.GetSimpleReg();
|
X64Reg xr = regs[i].location.GetSimpleReg();
|
||||||
_assert_msg_(DYNA_REC, xr < NUMXREGS, "WTF - store - invalid reg");
|
_assert_msg_(DYNA_REC, xr < NUMXREGS, "WTF - store - invalid reg");
|
||||||
|
OpArg newLoc = GetDefaultLocation(i);
|
||||||
|
if (xregs[xr].dirty)
|
||||||
|
emit->MOVAPD(newLoc, xr);
|
||||||
xregs[xr].free = true;
|
xregs[xr].free = true;
|
||||||
xregs[xr].dirty = false;
|
xregs[xr].dirty = false;
|
||||||
xregs[xr].ppcReg = -1;
|
xregs[xr].ppcReg = -1;
|
||||||
OpArg newLoc = GetDefaultLocation(i);
|
|
||||||
emit->MOVAPD(newLoc, xr);
|
|
||||||
regs[i].location = newLoc;
|
regs[i].location = newLoc;
|
||||||
regs[i].away = false;
|
regs[i].away = false;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue