diff --git a/Source/Core/Core/PowerPC/JitArm64/JitArm64_LoadStorePaired.cpp b/Source/Core/Core/PowerPC/JitArm64/JitArm64_LoadStorePaired.cpp index 4eb27de32f..f5e3177aac 100644 --- a/Source/Core/Core/PowerPC/JitArm64/JitArm64_LoadStorePaired.cpp +++ b/Source/Core/Core/PowerPC/JitArm64/JitArm64_LoadStorePaired.cpp @@ -168,13 +168,6 @@ void JitArm64::psq_stXX(UGeckoInstruction inst) constexpr ARM64Reg addr_reg = ARM64Reg::W1; constexpr ARM64Reg type_reg = ARM64Reg::W2; - BitSet32 gprs_in_use = gpr.GetCallerSavedUsed(); - BitSet32 fprs_in_use = fpr.GetCallerSavedUsed(); - - // Wipe the registers we are using as temporaries - gprs_in_use &= BitSet32(~7); - fprs_in_use &= BitSet32(~3); - if (inst.RA || update) // Always uses the register on update { if (indexed) @@ -198,6 +191,13 @@ void JitArm64::psq_stXX(UGeckoInstruction inst) MOV(arm_addr, addr_reg); } + BitSet32 gprs_in_use = gpr.GetCallerSavedUsed(); + BitSet32 fprs_in_use = fpr.GetCallerSavedUsed(); + + // Wipe the registers we are using as temporaries + gprs_in_use &= BitSet32(~7); + fprs_in_use &= BitSet32(~3); + if (js.assumeNoPairedQuantize) { u32 flags = BackPatchInfo::FLAG_STORE;