Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
[ARM] MicroOps in the branching instructions.
  • Loading branch information
Sonicadvance1 committed Sep 19, 2013
1 parent 5158aea commit 1b1b5d2
Showing 1 changed file with 3 additions and 9 deletions.
12 changes: 3 additions & 9 deletions Source/Core/Core/Src/PowerPC/JitArm32/JitArm_Branch.cpp
Expand Up @@ -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

Expand Down Expand Up @@ -230,7 +229,6 @@ void JitArm::bcctrx(UGeckoInstruction inst)

//NPC = CTR & 0xfffffffc;
ARMReg rA = gpr.GetReg();
ARMReg rB = gpr.GetReg();

if(inst.LK_3)
{
Expand All @@ -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
Expand All @@ -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;
Expand Down Expand Up @@ -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);
Expand Down

0 comments on commit 1b1b5d2

Please sign in to comment.