diff options
| author | gdkchan <gab.dark.100@gmail.com> | 2018-04-06 01:41:54 -0300 |
|---|---|---|
| committer | gdkchan <gab.dark.100@gmail.com> | 2018-04-06 01:41:54 -0300 |
| commit | 36d9130592c7d45d50d9748f816b282c05e45967 (patch) | |
| tree | 75fdec5d24eda4362aeeb9cbd521b0832dc93edf /ChocolArm64/Instruction | |
| parent | 2fd718c163a6f8adfc189f16b829542fdde0261d (diff) | |
Add FMLS (vector) instruction
Diffstat (limited to 'ChocolArm64/Instruction')
| -rw-r--r-- | ChocolArm64/Instruction/AInstEmitSimdArithmetic.cs | 18 | ||||
| -rw-r--r-- | ChocolArm64/Instruction/AInstEmitSimdCmp.cs | 20 |
2 files changed, 18 insertions, 20 deletions
diff --git a/ChocolArm64/Instruction/AInstEmitSimdArithmetic.cs b/ChocolArm64/Instruction/AInstEmitSimdArithmetic.cs index 9fb33878..772b7955 100644 --- a/ChocolArm64/Instruction/AInstEmitSimdArithmetic.cs +++ b/ChocolArm64/Instruction/AInstEmitSimdArithmetic.cs @@ -224,6 +224,24 @@ namespace ChocolArm64.Instruction }); } + public static void Fmls_V(AILEmitterCtx Context) + { + EmitVectorTernaryOpF(Context, () => + { + Context.Emit(OpCodes.Mul); + Context.Emit(OpCodes.Sub); + }); + } + + public static void Fmls_Ve(AILEmitterCtx Context) + { + EmitVectorTernaryOpByElemF(Context, () => + { + Context.Emit(OpCodes.Mul); + Context.Emit(OpCodes.Sub); + }); + } + public static void Fmsub_S(AILEmitterCtx Context) { EmitScalarTernaryRaOpF(Context, () => diff --git a/ChocolArm64/Instruction/AInstEmitSimdCmp.cs b/ChocolArm64/Instruction/AInstEmitSimdCmp.cs index 43e8e949..a71b6d42 100644 --- a/ChocolArm64/Instruction/AInstEmitSimdCmp.cs +++ b/ChocolArm64/Instruction/AInstEmitSimdCmp.cs @@ -140,26 +140,6 @@ namespace ChocolArm64.Instruction EmitVectorFcmp(Context, OpCodes.Bgt_S); } - public static void Fcmhi_S(AILEmitterCtx Context) - { - EmitScalarFcmp(Context, OpCodes.Bgt_Un_S); - } - - public static void Fcmhi_V(AILEmitterCtx Context) - { - EmitVectorFcmp(Context, OpCodes.Bgt_Un_S); - } - - public static void Fcmhs_S(AILEmitterCtx Context) - { - EmitScalarFcmp(Context, OpCodes.Bge_Un_S); - } - - public static void Fcmhs_V(AILEmitterCtx Context) - { - EmitVectorFcmp(Context, OpCodes.Bge_Un_S); - } - public static void Fcmle_S(AILEmitterCtx Context) { EmitScalarFcmp(Context, OpCodes.Ble_S); |
