Merge pull request #12319 from JosJuice/jitarm64-branch-not-farcode

JitArm64: Don't use farcode for conditional branch instructions
This commit is contained in:
Mai 2023-11-26 23:09:25 +01:00 committed by GitHub
commit 1a2d0882d0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 0 additions and 16 deletions

View File

@ -157,10 +157,6 @@ void JitArm64::bcx(UGeckoInstruction inst)
JumpIfCRFieldBit(inst.BI >> 2, 3 - (inst.BI & 3), !(inst.BO_2 & BO_BRANCH_IF_TRUE));
}
FixupBranch far_addr = B();
SwitchToFarCode();
SetJumpTarget(far_addr);
if (inst.LK)
{
MOVI2R(WA, js.compilerPC + 4);
@ -185,8 +181,6 @@ void JitArm64::bcx(UGeckoInstruction inst)
WriteExit(js.op->branchTo, inst.LK, js.compilerPC + 4, inst.LK ? WA : ARM64Reg::INVALID_REG);
}
SwitchToNearCode();
if ((inst.BO & BO_DONT_CHECK_CONDITION) == 0)
SetJumpTarget(pConditionDontBranch);
if ((inst.BO & BO_DONT_DECREMENT_FLAG) == 0)
@ -275,13 +269,6 @@ void JitArm64::bclrx(UGeckoInstruction inst)
JumpIfCRFieldBit(inst.BI >> 2, 3 - (inst.BI & 3), !(inst.BO_2 & BO_BRANCH_IF_TRUE));
}
if (conditional)
{
FixupBranch far_addr = B();
SwitchToFarCode();
SetJumpTarget(far_addr);
}
LDR(IndexType::Unsigned, WA, PPC_REG, PPCSTATE_OFF_SPR(SPR_LR));
AND(WA, WA, LogicalImm(~0x3, 32));
@ -309,9 +296,6 @@ void JitArm64::bclrx(UGeckoInstruction inst)
WriteBLRExit(WA);
}
if (conditional)
SwitchToNearCode();
if ((inst.BO & BO_DONT_CHECK_CONDITION) == 0)
SetJumpTarget(pConditionDontBranch);
if ((inst.BO & BO_DONT_DECREMENT_FLAG) == 0)