JitArm64: small cleanup, no changes

This commit is contained in:
degasus 2016-03-04 09:13:31 +01:00
parent 7b017c6a65
commit 689205f0a4
3 changed files with 8 additions and 12 deletions

View File

@ -490,7 +490,7 @@ const u8* JitArm64::DoJit(u32 em_address, PPCAnalyst::CodeBuffer *code_buf, JitB
gpr.Flush(FLUSH_MAINTAIN_STATE); gpr.Flush(FLUSH_MAINTAIN_STATE);
fpr.Flush(FLUSH_MAINTAIN_STATE); fpr.Flush(FLUSH_MAINTAIN_STATE);
MOVI2R(W30, ops[i].address); MOVI2R(W30, js.compilerPC);
WriteExceptionExit(W30, true); WriteExceptionExit(W30, true);
SwitchToNearCode(); SwitchToNearCode();
SetJumpTarget(exit); SetJumpTarget(exit);
@ -522,7 +522,7 @@ const u8* JitArm64::DoJit(u32 em_address, PPCAnalyst::CodeBuffer *code_buf, JitB
gpr.Flush(FLUSH_MAINTAIN_STATE); gpr.Flush(FLUSH_MAINTAIN_STATE);
fpr.Flush(FLUSH_MAINTAIN_STATE); fpr.Flush(FLUSH_MAINTAIN_STATE);
MOVI2R(WA, ops[i].address); MOVI2R(WA, js.compilerPC);
WriteExceptionExit(WA, true); WriteExceptionExit(WA, true);
SwitchToNearCode(); SwitchToNearCode();
SetJumpTarget(NoExtException); SetJumpTarget(NoExtException);

View File

@ -94,9 +94,8 @@ void JitArm64::bx(UGeckoInstruction inst)
if (inst.LK) if (inst.LK)
{ {
u32 Jumpto = js.compilerPC + 4;
ARM64Reg WA = gpr.GetReg(); ARM64Reg WA = gpr.GetReg();
MOVI2R(WA, Jumpto); MOVI2R(WA, js.compilerPC + 4);
STR(INDEX_UNSIGNED, WA, PPC_REG, PPCSTATE_OFF(spr[SPR_LR])); STR(INDEX_UNSIGNED, WA, PPC_REG, PPCSTATE_OFF(spr[SPR_LR]));
gpr.Unlock(WA); gpr.Unlock(WA);
} }
@ -149,8 +148,7 @@ void JitArm64::bcx(UGeckoInstruction inst)
if (inst.LK) if (inst.LK)
{ {
u32 Jumpto = js.compilerPC + 4; MOVI2R(WA, js.compilerPC + 4);
MOVI2R(WA, Jumpto);
STR(INDEX_UNSIGNED, WA, PPC_REG, PPCSTATE_OFF(spr[SPR_LR])); STR(INDEX_UNSIGNED, WA, PPC_REG, PPCSTATE_OFF(spr[SPR_LR]));
} }
gpr.Unlock(WA); gpr.Unlock(WA);
@ -203,8 +201,7 @@ void JitArm64::bcctrx(UGeckoInstruction inst)
if (inst.LK_3) if (inst.LK_3)
{ {
ARM64Reg WB = gpr.GetReg(); ARM64Reg WB = gpr.GetReg();
u32 Jumpto = js.compilerPC + 4; MOVI2R(WB, js.compilerPC + 4);
MOVI2R(WB, Jumpto);
STR(INDEX_UNSIGNED, WB, PPC_REG, PPCSTATE_OFF(spr[SPR_LR])); STR(INDEX_UNSIGNED, WB, PPC_REG, PPCSTATE_OFF(spr[SPR_LR]));
gpr.Unlock(WB); gpr.Unlock(WB);
} }
@ -252,8 +249,7 @@ void JitArm64::bclrx(UGeckoInstruction inst)
if (inst.LK) if (inst.LK)
{ {
ARM64Reg WB = gpr.GetReg(); ARM64Reg WB = gpr.GetReg();
u32 Jumpto = js.compilerPC + 4; MOVI2R(WB, js.compilerPC + 4);
MOVI2R(WB, Jumpto);
STR(INDEX_UNSIGNED, WB, PPC_REG, PPCSTATE_OFF(spr[SPR_LR])); STR(INDEX_UNSIGNED, WB, PPC_REG, PPCSTATE_OFF(spr[SPR_LR]));
gpr.Unlock(WB); gpr.Unlock(WB);
} }

View File

@ -45,9 +45,9 @@ void JitArm64::psq_l(UGeckoInstruction inst)
if (inst.RA || update) // Always uses the register on update if (inst.RA || update) // Always uses the register on update
{ {
if (offset >= 0) if (offset >= 0)
ADD(addr_reg, gpr.R(inst.RA), offset); ADD(addr_reg, arm_addr, offset);
else else
SUB(addr_reg, gpr.R(inst.RA), std::abs(offset)); SUB(addr_reg, arm_addr, std::abs(offset));
} }
else else
{ {