From 916540ff41446643a952fe7612aed16bae3fd7d8 Mon Sep 17 00:00:00 2001 From: gdkchan Date: Fri, 30 Mar 2018 17:37:31 -0300 Subject: Fix EXT/Widening instruction carrying garbage values on some cases, fix ABD (it shouldn't accumulate, this is another variation of the instruction) --- ChocolArm64/Instruction/AInstEmitSimdArithmetic.cs | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'ChocolArm64/Instruction/AInstEmitSimdArithmetic.cs') diff --git a/ChocolArm64/Instruction/AInstEmitSimdArithmetic.cs b/ChocolArm64/Instruction/AInstEmitSimdArithmetic.cs index 1d40ee89..f2e80d2b 100644 --- a/ChocolArm64/Instruction/AInstEmitSimdArithmetic.cs +++ b/ChocolArm64/Instruction/AInstEmitSimdArithmetic.cs @@ -548,12 +548,12 @@ namespace ChocolArm64.Instruction public static void Uabd_V(AILEmitterCtx Context) { - EmitVectorTernaryOpZx(Context, () => EmitAbd(Context)); + EmitVectorBinaryOpZx(Context, () => EmitAbd(Context)); } public static void Uabdl_V(AILEmitterCtx Context) { - EmitVectorWidenRnRmTernaryOpZx(Context, () => EmitAbd(Context)); + EmitVectorWidenRnRmBinaryOpZx(Context, () => EmitAbd(Context)); } private static void EmitAbd(AILEmitterCtx Context) @@ -563,8 +563,6 @@ namespace ChocolArm64.Instruction Type[] Types = new Type[] { typeof(long) }; Context.EmitCall(typeof(Math).GetMethod(nameof(Math.Abs), Types)); - - Context.Emit(OpCodes.Add); } public static void Uaddl_V(AILEmitterCtx Context) -- cgit v1.2.3