summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authorPokechu22 <Pokechu022@gmail.com>2022-06-05 19:33:28 -0700
committerPokechu22 <Pokechu022@gmail.com>2022-06-05 19:34:31 -0700
commitd03b2774030d96e491f182de82fc33dea650a735 (patch)
tree8a73a54cf9febe7bb0ef65dd090f45adbd59ec2e /Source/Core
parent664663e8de7944585b2c936a283c70466917d861 (diff)
DSP LLE Recompiler: Fix LOOP and BLOOP when the counter is between 0x8001 and 0xFFFF
Diffstat (limited to 'Source/Core')
-rw-r--r--Source/Core/Core/DSP/Jit/x64/DSPJitBranch.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/Source/Core/Core/DSP/Jit/x64/DSPJitBranch.cpp b/Source/Core/Core/DSP/Jit/x64/DSPJitBranch.cpp
index 79e2da9a91..7ba437484b 100644
--- a/Source/Core/Core/DSP/Jit/x64/DSPJitBranch.cpp
+++ b/Source/Core/Core/DSP/Jit/x64/DSPJitBranch.cpp
@@ -322,14 +322,14 @@ void DSPEmitter::HandleLoop()
MOVZX(32, 16, ECX, M_SDSP_r_st(3));
TEST(32, R(RCX), R(RCX));
- FixupBranch rLoopCntG = J_CC(CC_LE, true);
+ FixupBranch rLoopCntG = J_CC(CC_E, true);
CMP(16, R(RAX), Imm16(m_compile_pc - 1));
FixupBranch rLoopAddrG = J_CC(CC_NE, true);
SUB(16, M_SDSP_r_st(3), Imm16(1));
CMP(16, M_SDSP_r_st(3), Imm16(0));
- FixupBranch loadStack = J_CC(CC_LE, true);
+ FixupBranch loadStack = J_CC(CC_E, true);
MOVZX(32, 16, ECX, M_SDSP_r_st(0));
MOV(16, M_SDSP_pc(), R(RCX));
FixupBranch loopUpdated = J(true);