diff options
| author | gdkchan <gab.dark.100@gmail.com> | 2018-05-23 00:27:48 -0300 |
|---|---|---|
| committer | gdkchan <gab.dark.100@gmail.com> | 2018-05-23 00:27:48 -0300 |
| commit | e78737089c7270458228aaa08a591cc9dd42936c (patch) | |
| tree | 04906a504140622cfd5d7a9855e490ccb133dcd5 /ChocolArm64 | |
| parent | 79e007036383b11cd53c2563fbb7f139a02c90ec (diff) | |
Remove some calls generated on the CPU for inexistent intrinsic methods
Diffstat (limited to 'ChocolArm64')
| -rw-r--r-- | ChocolArm64/Instruction/AInstEmitSimdCmp.cs | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/ChocolArm64/Instruction/AInstEmitSimdCmp.cs b/ChocolArm64/Instruction/AInstEmitSimdCmp.cs index 583ad702..8a8376b2 100644 --- a/ChocolArm64/Instruction/AInstEmitSimdCmp.cs +++ b/ChocolArm64/Instruction/AInstEmitSimdCmp.cs @@ -14,7 +14,7 @@ namespace ChocolArm64.Instruction { 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)); } @@ -26,19 +26,12 @@ namespace ChocolArm64.Instruction public static void Cmge_V(AILEmitterCtx Context) { - if (AOptimizations.UseSse2 && Context.CurrOp is AOpCodeSimdReg) - { - EmitSse2Call(Context, nameof(Sse2.CompareGreaterThanOrEqual)); - } - else - { - EmitVectorCmp(Context, OpCodes.Bge_S); - } + EmitVectorCmp(Context, OpCodes.Bge_S); } 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)); } |
