[AArch64] Fully implement cmpl and cmpli.
This commit is contained in:
parent
4547b64959
commit
cfd4348b7a
|
@ -405,7 +405,11 @@ void JitArm64::cmpl(UGeckoInstruction inst)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
FALLBACK_IF(true);
|
ARM64Reg WA = gpr.GetReg();
|
||||||
|
ARM64Reg XA = EncodeRegTo64(WA);
|
||||||
|
SUB(XA, EncodeRegTo64(gpr.R(a)), EncodeRegTo64(gpr.R(b)));
|
||||||
|
STR(INDEX_UNSIGNED, XA, X29, PPCSTATE_OFF(cr_val[0]) + (sizeof(PowerPC::ppcState.cr_val[0]) * crf));
|
||||||
|
gpr.Unlock(WA);
|
||||||
}
|
}
|
||||||
|
|
||||||
void JitArm64::cmpi(UGeckoInstruction inst)
|
void JitArm64::cmpi(UGeckoInstruction inst)
|
||||||
|
@ -457,7 +461,21 @@ void JitArm64::cmpli(UGeckoInstruction inst)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
FALLBACK_IF(true);
|
ARM64Reg WA = gpr.GetReg();
|
||||||
|
ARM64Reg XA = EncodeRegTo64(WA);
|
||||||
|
|
||||||
|
if (inst.UIMM < 4096)
|
||||||
|
{
|
||||||
|
SUB(XA, EncodeRegTo64(gpr.R(a)), inst.UIMM);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
MOVI2R(WA, inst.UIMM);
|
||||||
|
SUB(XA, EncodeRegTo64(gpr.R(a)), XA);
|
||||||
|
}
|
||||||
|
|
||||||
|
STR(INDEX_UNSIGNED, XA, X29, PPCSTATE_OFF(cr_val[0]) + (sizeof(PowerPC::ppcState.cr_val[0]) * crf));
|
||||||
|
gpr.Unlock(WA);
|
||||||
}
|
}
|
||||||
|
|
||||||
void JitArm64::rlwinmx(UGeckoInstruction inst)
|
void JitArm64::rlwinmx(UGeckoInstruction inst)
|
||||||
|
|
Loading…
Reference in New Issue