summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan Houdek <Sonicadvance1@Gmail.com>2013-09-19 02:05:57 +0000
committerRyan Houdek <Sonicadvance1@Gmail.com>2013-09-19 02:08:19 +0000
commit1b1b5d210040e3c43be05275caaf004bb58fbfab (patch)
tree48f52d7a1fc6c7548e92ca69d9db02d0a61f4f2d
parent5158aea4dcd5f317ce014059ee22be032fac23c3 (diff)
[ARM] MicroOps in the branching instructions.
-rw-r--r--Source/Core/Core/Src/PowerPC/JitArm32/JitArm_Branch.cpp12
1 files changed, 3 insertions, 9 deletions
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);