JitArm64: subfx - Special case a == b

This commit is contained in:
Sintendo 2021-01-05 18:52:24 +01:00
parent c0be34aa81
commit df70077e6b
1 changed files with 7 additions and 1 deletions

View File

@ -856,7 +856,13 @@ void JitArm64::subfx(UGeckoInstruction inst)
int a = inst.RA, b = inst.RB, d = inst.RD;
if (gpr.IsImm(a) && gpr.IsImm(b))
if (a == b)
{
gpr.SetImmediate(d, 0);
if (inst.Rc)
ComputeRC0(gpr.GetImm(d));
}
else if (gpr.IsImm(a) && gpr.IsImm(b))
{
u32 i = gpr.GetImm(a), j = gpr.GetImm(b);
gpr.SetImmediate(d, j - i);