updating FPU locations just if STATUS_FR was changed, not entire reg

This commit is contained in:
unknown 2015-03-12 19:53:28 -04:00
parent 1e0efb670e
commit 516df09fce
2 changed files with 2 additions and 2 deletions

View File

@ -1229,7 +1229,7 @@ void R4300iOp32::COP0_MT (void) {
g_SystemTimer->UpdateCompareTimer();
break;
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];
g_Reg->FixFpuLocations();
} else {

View File

@ -1996,7 +1996,7 @@ void R4300iOp::COP0_MT (void)
g_SystemTimer->UpdateCompareTimer();
break;
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];
g_Reg->FixFpuLocations();
} else {