Merge pull request #7494 from MerryMage/SPR_HID0

Jit_SystemRegisters: Correct behaviour for mtspr SPR_HID0 (Redux)
This commit is contained in:
Tilka 2018-10-14 01:00:15 +01:00 committed by GitHub
commit 4b14fa40a6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 4 additions and 4 deletions

View File

@ -238,16 +238,16 @@ void Jit64::mtspr(UGeckoInstruction inst)
case SPR_HID0: case SPR_HID0:
{ {
gpr.BindToRegister(d, true, false); MOV(32, R(RSCRATCH), gpr.R(d));
BTR(32, gpr.R(d), Imm8(31 - 20)); // ICFI BTR(32, R(RSCRATCH), Imm8(31 - 20)); // ICFI
MOV(32, PPCSTATE(spr[iIndex]), gpr.R(d)); MOV(32, PPCSTATE(spr[iIndex]), R(RSCRATCH));
FixupBranch dont_reset_icache = J_CC(CC_NC); FixupBranch dont_reset_icache = J_CC(CC_NC);
BitSet32 regs = CallerSavedRegistersInUse(); BitSet32 regs = CallerSavedRegistersInUse();
ABI_PushRegistersAndAdjustStack(regs, 0); ABI_PushRegistersAndAdjustStack(regs, 0);
ABI_CallFunction(DoICacheReset); ABI_CallFunction(DoICacheReset);
ABI_PopRegistersAndAdjustStack(regs, 0); ABI_PopRegistersAndAdjustStack(regs, 0);
SetJumpTarget(dont_reset_icache); SetJumpTarget(dont_reset_icache);
break; return;
} }
default: default: