diff --git a/Source/Core/Core/Src/PowerPC/JitArm32/JitArm_Branch.cpp b/Source/Core/Core/Src/PowerPC/JitArm32/JitArm_Branch.cpp index b1a63aece6..b6bde154af 100644 --- a/Source/Core/Core/Src/PowerPC/JitArm32/JitArm_Branch.cpp +++ b/Source/Core/Core/Src/PowerPC/JitArm32/JitArm_Branch.cpp @@ -85,7 +85,6 @@ void JitArm::rfi(UGeckoInstruction inst) LDR(rD, R9, PPCSTATE_OFF(msr)); AND(rD, rD, rB); // rD = Masked MSR - STR(rD, R9, PPCSTATE_OFF(msr)); LDR(rB, R9, PPCSTATE_OFF(spr[SPR_SRR1])); // rB contains SRR1 here @@ -230,7 +229,6 @@ void JitArm::bcctrx(UGeckoInstruction inst) //NPC = CTR & 0xfffffffc; ARMReg rA = gpr.GetReg(); - ARMReg rB = gpr.GetReg(); if(inst.LK_3) { @@ -239,10 +237,8 @@ void JitArm::bcctrx(UGeckoInstruction inst) STR(rA, R9, PPCSTATE_OFF(spr[SPR_LR])); // ARMABI_MOVI2M((u32)&LR, js.compilerPC + 4); } - MVN(rB, 0x3); // 0xFFFFFFFC LDR(rA, R9, PPCSTATE_OFF(spr[SPR_CTR])); - AND(rA, rA, rB); - gpr.Unlock(rB); + BIC(rA, rA, 0x3); WriteExitDestInR(rA); } else @@ -264,8 +260,7 @@ void JitArm::bcctrx(UGeckoInstruction inst) FixupBranch b = B_CC(branch); LDR(rA, R9, PPCSTATE_OFF(spr[SPR_CTR])); - MVN(rB, 0x3); // 0xFFFFFFFC - AND(rA, rA, rB); + BIC(rA, rA, 0x3); if (inst.LK_3){ u32 Jumpto = js.compilerPC + 4; @@ -336,9 +331,8 @@ void JitArm::bclrx(UGeckoInstruction inst) //MOV(32, R(EAX), M(&LR)); //AND(32, R(EAX), Imm32(0xFFFFFFFC)); - MVN(rB, 0x3); // 0xFFFFFFFC LDR(rA, R9, PPCSTATE_OFF(spr[SPR_LR])); - AND(rA, rA, rB); + BIC(rA, rA, 0x3); if (inst.LK){ u32 Jumpto = js.compilerPC + 4; MOVI2R(rB, Jumpto);