Merge pull request #269 from cxd4/i_dont_always_change_STATUS_FR_but_when_i_do_I_also_change_Status
updating FPU locations just if STATUS_FR was changed, not entire reg
This commit is contained in:
commit
4ff155666b
|
@ -1229,7 +1229,7 @@ void R4300iOp32::COP0_MT (void) {
|
||||||
g_SystemTimer->UpdateCompareTimer();
|
g_SystemTimer->UpdateCompareTimer();
|
||||||
break;
|
break;
|
||||||
case 12: //Status
|
case 12: //Status
|
||||||
if ((_CP0[m_Opcode.rd] ^ _GPR[m_Opcode.rt].UW[0]) != 0) {
|
if ((_CP0[m_Opcode.rd] & STATUS_FR) != (_GPR[m_Opcode.rt].UW[0] & STATUS_FR)) {
|
||||||
_CP0[m_Opcode.rd] = _GPR[m_Opcode.rt].UW[0];
|
_CP0[m_Opcode.rd] = _GPR[m_Opcode.rt].UW[0];
|
||||||
g_Reg->FixFpuLocations();
|
g_Reg->FixFpuLocations();
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -1996,7 +1996,7 @@ void R4300iOp::COP0_MT (void)
|
||||||
g_SystemTimer->UpdateCompareTimer();
|
g_SystemTimer->UpdateCompareTimer();
|
||||||
break;
|
break;
|
||||||
case 12: //Status
|
case 12: //Status
|
||||||
if ((_CP0[m_Opcode.rd] ^ _GPR[m_Opcode.rt].UW[0]) != 0) {
|
if ((_CP0[m_Opcode.rd] & STATUS_FR) != (_GPR[m_Opcode.rt].UW[0] & STATUS_FR)) {
|
||||||
_CP0[m_Opcode.rd] = _GPR[m_Opcode.rt].UW[0];
|
_CP0[m_Opcode.rd] = _GPR[m_Opcode.rt].UW[0];
|
||||||
g_Reg->FixFpuLocations();
|
g_Reg->FixFpuLocations();
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in New Issue