JitArm64: Use 64-bit register for address in mtsrin

Fixes a regression from d34d3bd513 that, depending on the host memory
layout, could cause either a host crash or a guest crash when running
F-Zero GX.
This commit is contained in:
JosJuice 2023-12-16 19:58:09 +01:00
parent 190c4e8cda
commit f5951c9f45

View File

@ -209,8 +209,8 @@ void JitArm64::mtsrin(UGeckoInstruction inst)
ARM64Reg addr = gpr.GetReg();
UBFM(index, RB, 28, 31);
ADDI2R(addr, PPC_REG, PPCSTATE_OFF_SR(0), addr);
STR(RD, addr, ArithOption(EncodeRegTo64(index), true));
ADDI2R(EncodeRegTo64(addr), PPC_REG, PPCSTATE_OFF_SR(0), EncodeRegTo64(addr));
STR(RD, EncodeRegTo64(addr), ArithOption(EncodeRegTo64(index), true));
gpr.Unlock(index, addr);
}