From 4ec8f83a1a18fefe05421e18f915ef8277164b94 Mon Sep 17 00:00:00 2001 From: Fiora Date: Fri, 5 Sep 2014 13:58:06 -0700 Subject: [PATCH] JIT: fix branch merging with bclr --- Source/Core/Core/PowerPC/Jit64/Jit_Integer.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Source/Core/Core/PowerPC/Jit64/Jit_Integer.cpp b/Source/Core/Core/PowerPC/Jit64/Jit_Integer.cpp index bd904f1cc5..a6b60f8f23 100644 --- a/Source/Core/Core/PowerPC/Jit64/Jit_Integer.cpp +++ b/Source/Core/Core/PowerPC/Jit64/Jit_Integer.cpp @@ -393,7 +393,7 @@ void Jit64::cmpXX(UGeckoInstruction inst) if (js.next_inst.OPCD == 16) // bcx { if (js.next_inst.LK) - MOV(32, M(&LR), Imm32(js.compilerPC + 4)); + MOV(32, M(&LR), Imm32(js.next_compilerPC + 4)); u32 destination; if (js.next_inst.AA) @@ -405,7 +405,7 @@ void Jit64::cmpXX(UGeckoInstruction inst) else if ((js.next_inst.OPCD == 19) && (js.next_inst.SUBOP10 == 528)) // bcctrx { if (js.next_inst.LK) - MOV(32, M(&LR), Imm32(js.compilerPC + 4)); + MOV(32, M(&LR), Imm32(js.next_compilerPC + 4)); MOV(32, R(EAX), M(&CTR)); AND(32, R(EAX), Imm32(0xFFFFFFFC)); WriteExitDestInEAX(); @@ -414,7 +414,7 @@ void Jit64::cmpXX(UGeckoInstruction inst) { MOV(32, R(EAX), M(&LR)); if (js.next_inst.LK) - MOV(32, M(&LR), Imm32(js.compilerPC + 4)); + MOV(32, M(&LR), Imm32(js.next_compilerPC + 4)); WriteExitDestInEAX(); } else @@ -492,7 +492,7 @@ void Jit64::cmpXX(UGeckoInstruction inst) if (js.next_inst.OPCD == 16) // bcx { if (js.next_inst.LK) - MOV(32, M(&LR), Imm32(js.compilerPC + 4)); + MOV(32, M(&LR), Imm32(js.next_compilerPC + 4)); u32 destination; if (js.next_inst.AA) @@ -504,7 +504,7 @@ void Jit64::cmpXX(UGeckoInstruction inst) else if ((js.next_inst.OPCD == 19) && (js.next_inst.SUBOP10 == 528)) // bcctrx { if (js.next_inst.LK) - MOV(32, M(&LR), Imm32(js.compilerPC + 4)); + MOV(32, M(&LR), Imm32(js.next_compilerPC + 4)); MOV(32, R(EAX), M(&CTR)); AND(32, R(EAX), Imm32(0xFFFFFFFC)); @@ -516,7 +516,7 @@ void Jit64::cmpXX(UGeckoInstruction inst) AND(32, R(EAX), Imm32(0xFFFFFFFC)); if (js.next_inst.LK) - MOV(32, M(&LR), Imm32(js.compilerPC + 4)); + MOV(32, M(&LR), Imm32(js.next_compilerPC + 4)); WriteExitDestInEAX(); }