From a95d38a8f04aebca5cf7ec086be6a94060906b6a Mon Sep 17 00:00:00 2001 From: BUP <39006831+yourmothergay@users.noreply.github.com> Date: Sat, 11 Aug 2018 18:43:59 +0900 Subject: [PATCH 1/3] Add Opcode Fmls_Se --- ChocolArm64/AOpCodeTable.cs | 1 + ChocolArm64/Instruction/AInstEmitSimdArithmetic.cs | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/ChocolArm64/AOpCodeTable.cs b/ChocolArm64/AOpCodeTable.cs index 74d4915b9b..b2b5f97719 100644 --- a/ChocolArm64/AOpCodeTable.cs +++ b/ChocolArm64/AOpCodeTable.cs @@ -279,6 +279,7 @@ namespace ChocolArm64 SetA64("0x0011111<0011101<1xxxxx110011xxxxxxxxxx", AInstEmit.Fmls_V, typeof(AOpCodeSimdReg)); SetA64("0x0011111< + { + Context.Emit(OpCodes.Mul); + Context.Emit(OpCodes.Sub); + }); + } + public static void Fmsub_S(AILEmitterCtx Context) { EmitScalarTernaryRaOpF(Context, () => From eb5ceb7af9e31a10ab5b4f53caea2e7862388989 Mon Sep 17 00:00:00 2001 From: BUP <39006831+yourmothergay@users.noreply.github.com> Date: Sat, 11 Aug 2018 19:14:19 +0900 Subject: [PATCH 2/3] sorted --- ChocolArm64/AOpCodeTable.cs | 2 +- .../Instruction/AInstEmitSimdArithmetic.cs | 17 ++++++++--------- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/ChocolArm64/AOpCodeTable.cs b/ChocolArm64/AOpCodeTable.cs index b2b5f97719..abff3e95c8 100644 --- a/ChocolArm64/AOpCodeTable.cs +++ b/ChocolArm64/AOpCodeTable.cs @@ -277,9 +277,9 @@ namespace ChocolArm64 SetA64("010111111<0011100<1xxxxx110011xxxxxxxxxx", AInstEmit.Fmla_V, typeof(AOpCodeSimdReg)); SetA64("0x0011111<0011101<1xxxxx110011xxxxxxxxxx", AInstEmit.Fmls_V, typeof(AOpCodeSimdReg)); SetA64("0x0011111< { + Context.Emit(OpCodes.Mul); + Context.Emit(OpCodes.Sub); + }); + } + public static void Fmls_V(AILEmitterCtx Context) { EmitVectorTernaryOpF(Context, () => @@ -478,15 +486,6 @@ namespace ChocolArm64.Instruction }); } - public static void Fmls_Se(AILEmitterCtx Context) - { - EmitScalarTernaryOpByElemF(Context, () => - { - Context.Emit(OpCodes.Mul); - Context.Emit(OpCodes.Sub); - }); - } - public static void Fmsub_S(AILEmitterCtx Context) { EmitScalarTernaryRaOpF(Context, () => From ca30927b7cf2f95f84d9ed9d0d31ed4a51ec5318 Mon Sep 17 00:00:00 2001 From: BUP <39006831+yourmothergay@users.noreply.github.com> Date: Sat, 11 Aug 2018 19:15:31 +0900 Subject: [PATCH 3/3] a --- ChocolArm64/Instruction/AInstEmitSimdArithmetic.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ChocolArm64/Instruction/AInstEmitSimdArithmetic.cs b/ChocolArm64/Instruction/AInstEmitSimdArithmetic.cs index 938628bbe9..edb1840e53 100644 --- a/ChocolArm64/Instruction/AInstEmitSimdArithmetic.cs +++ b/ChocolArm64/Instruction/AInstEmitSimdArithmetic.cs @@ -462,7 +462,8 @@ namespace ChocolArm64.Instruction public static void Fmls_Se(AILEmitterCtx Context) { - EmitScalarTernaryOpByElemF(Context, () => { + EmitScalarTernaryOpByElemF(Context, () => + { Context.Emit(OpCodes.Mul); Context.Emit(OpCodes.Sub); });