mirror of
https://github.com/hrydgard/ppsspp.git
synced 2025-04-02 11:01:50 -04:00
Two minor armjit optimizations
This commit is contained in:
parent
a5011e3ff0
commit
6483c0c2cd
1 changed files with 4 additions and 4 deletions
|
@ -289,8 +289,7 @@ void Jit::BranchVFPUFlag(MIPSOpcode op, ArmGen::CCFlags cc, bool likely)
|
|||
|
||||
int imm3 = (op >> 18) & 7;
|
||||
|
||||
MOVI2R(R0, (u32)&(mips_->vfpuCtrl[VFPU_CTRL_CC]));
|
||||
LDR(R0, R0, Operand2(0, TYPE_IMM));
|
||||
LDR(R0, CTXREG, offsetof(MIPSState, vfpuCtrl) + 4 * VFPU_CTRL_CC);
|
||||
TST(R0, Operand2(1 << imm3, TYPE_IMM));
|
||||
|
||||
ArmGen::FixupBranch ptr;
|
||||
|
@ -378,6 +377,7 @@ void Jit::Comp_JumpReg(MIPSOpcode op)
|
|||
bool delaySlotIsNice = IsDelaySlotNiceReg(op, delaySlotOp, rs);
|
||||
CONDITIONAL_NICE_DELAYSLOT;
|
||||
|
||||
ARMReg destReg = R8;
|
||||
if (IsSyscall(delaySlotOp)) {
|
||||
gpr.MapReg(rs);
|
||||
MOV(R8, gpr.R(rs));
|
||||
|
@ -387,7 +387,7 @@ void Jit::Comp_JumpReg(MIPSOpcode op)
|
|||
} else if (delaySlotIsNice) {
|
||||
CompileDelaySlot(DELAYSLOT_NICE);
|
||||
gpr.MapReg(rs);
|
||||
MOV(R8, gpr.R(rs)); // Save the destination address through the delay slot. Could use isNice to avoid when the jit is fully implemented
|
||||
destReg = gpr.R(rs); // Safe because FlushAll doesn't change any regs
|
||||
FlushAll();
|
||||
} else {
|
||||
// Delay slot
|
||||
|
@ -410,7 +410,7 @@ void Jit::Comp_JumpReg(MIPSOpcode op)
|
|||
break;
|
||||
}
|
||||
|
||||
WriteExitDestInR(R8);
|
||||
WriteExitDestInR(destReg);
|
||||
js.compiling = false;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue