mirror of
https://github.com/Ryujinx/ChocolArm64.git
synced 2024-12-23 00:35:29 +00:00
Remove some calls generated on the CPU for inexistent intrinsic methods
This commit is contained in:
parent
173c3e616d
commit
e54a0ff9c6
|
@ -14,7 +14,7 @@ namespace ChocolArm64.Instruction
|
||||||
{
|
{
|
||||||
public static void Cmeq_V(AILEmitterCtx Context)
|
public static void Cmeq_V(AILEmitterCtx Context)
|
||||||
{
|
{
|
||||||
if (AOptimizations.UseSse2 && Context.CurrOp is AOpCodeSimdReg)
|
if (AOptimizations.UseSse2 && Context.CurrOp is AOpCodeSimdReg Op && Op.Size < 3)
|
||||||
{
|
{
|
||||||
EmitSse2Call(Context, nameof(Sse2.CompareEqual));
|
EmitSse2Call(Context, nameof(Sse2.CompareEqual));
|
||||||
}
|
}
|
||||||
|
@ -26,19 +26,12 @@ namespace ChocolArm64.Instruction
|
||||||
|
|
||||||
public static void Cmge_V(AILEmitterCtx Context)
|
public static void Cmge_V(AILEmitterCtx Context)
|
||||||
{
|
{
|
||||||
if (AOptimizations.UseSse2 && Context.CurrOp is AOpCodeSimdReg)
|
EmitVectorCmp(Context, OpCodes.Bge_S);
|
||||||
{
|
|
||||||
EmitSse2Call(Context, nameof(Sse2.CompareGreaterThanOrEqual));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
EmitVectorCmp(Context, OpCodes.Bge_S);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void Cmgt_V(AILEmitterCtx Context)
|
public static void Cmgt_V(AILEmitterCtx Context)
|
||||||
{
|
{
|
||||||
if (AOptimizations.UseSse2 && Context.CurrOp is AOpCodeSimdReg)
|
if (AOptimizations.UseSse2 && Context.CurrOp is AOpCodeSimdReg Op && Op.Size < 3)
|
||||||
{
|
{
|
||||||
EmitSse2Call(Context, nameof(Sse2.CompareGreaterThan));
|
EmitSse2Call(Context, nameof(Sse2.CompareGreaterThan));
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue