From a6278030c2777917fb728ae8be5485e67240b71c Mon Sep 17 00:00:00 2001 From: JosJuice Date: Sun, 31 May 2026 11:47:15 +0200 Subject: [PATCH] JitArm64: Fix twx The conditions were in reverse order (maybe someone was reading the PowerPC manual and forgot about IBM's bit numbering), and additionally the two conditions for unsigned comparison were wrong. Fixes https://bugs.dolphin-emu.org/issues/14054. --- Source/Core/Core/PowerPC/JitArm64/JitArm64_SystemRegisters.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/Core/Core/PowerPC/JitArm64/JitArm64_SystemRegisters.cpp b/Source/Core/Core/PowerPC/JitArm64/JitArm64_SystemRegisters.cpp index 21a0003887..073a4a2ce6 100644 --- a/Source/Core/Core/PowerPC/JitArm64/JitArm64_SystemRegisters.cpp +++ b/Source/Core/Core/PowerPC/JitArm64/JitArm64_SystemRegisters.cpp @@ -327,7 +327,7 @@ void JitArm64::twx(UGeckoInstruction inst) CMP(gpr.R(a), gpr.R(inst.RB)); } - constexpr std::array conditions{{CC_LT, CC_GT, CC_EQ, CC_VC, CC_VS}}; + constexpr std::array conditions{{CC_HI, CC_LO, CC_EQ, CC_GT, CC_LT}}; Common::SmallVector fixups; for (size_t i = 0; i < conditions.size(); i++)