From f5951c9f4583b9390802d343b130244aafc1e49d Mon Sep 17 00:00:00 2001 From: JosJuice Date: Sat, 16 Dec 2023 19:58:09 +0100 Subject: [PATCH] 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. --- .../Core/Core/PowerPC/JitArm64/JitArm64_SystemRegisters.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Source/Core/Core/PowerPC/JitArm64/JitArm64_SystemRegisters.cpp b/Source/Core/Core/PowerPC/JitArm64/JitArm64_SystemRegisters.cpp index d63afce9b1..fe61d9cd29 100644 --- a/Source/Core/Core/PowerPC/JitArm64/JitArm64_SystemRegisters.cpp +++ b/Source/Core/Core/PowerPC/JitArm64/JitArm64_SystemRegisters.cpp @@ -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); }