From 0ec12f9e7e933bbb8c716167c244724e96ef3692 Mon Sep 17 00:00:00 2001 From: JosJuice Date: Sun, 10 Dec 2023 19:13:35 +0100 Subject: [PATCH] JitArm64: Add additional condition for lmw/stmw a discard If a is one of the registers that will be loaded/stored, we must not discard it early. Sorry for this fixup of a fixup... --- Source/Core/Core/PowerPC/JitArm64/JitArm64_LoadStore.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Source/Core/Core/PowerPC/JitArm64/JitArm64_LoadStore.cpp b/Source/Core/Core/PowerPC/JitArm64/JitArm64_LoadStore.cpp index 4c8713b040..31e6d817c5 100644 --- a/Source/Core/Core/PowerPC/JitArm64/JitArm64_LoadStore.cpp +++ b/Source/Core/Core/PowerPC/JitArm64/JitArm64_LoadStore.cpp @@ -549,7 +549,7 @@ void JitArm64::lmw(UGeckoInstruction inst) { if (a_is_addr_base_reg) gprs_to_discard[a] = false; - else + else if (a < d) gpr.DiscardRegisters(BitSet32{int(a)}); } } @@ -666,7 +666,7 @@ void JitArm64::stmw(UGeckoInstruction inst) { if (a_is_addr_base_reg) gprs_to_discard[a] = false; - else + else if (a < s) gpr.DiscardRegisters(BitSet32{int(a)}); } }