mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2024-11-14 13:27:45 -07:00
[ARM] MicroOps in the branching instructions.
This commit is contained in:
parent
5158aea4dc
commit
1b1b5d2100
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user