From ba43af57657aa045032f6be4e2faba10d35436ae Mon Sep 17 00:00:00 2001 From: gdkchan Date: Fri, 30 Mar 2018 16:16:16 -0300 Subject: Add UABDL instruction --- ChocolArm64/Instruction/AInstEmitSimdArithmetic.cs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'ChocolArm64/Instruction/AInstEmitSimdArithmetic.cs') diff --git a/ChocolArm64/Instruction/AInstEmitSimdArithmetic.cs b/ChocolArm64/Instruction/AInstEmitSimdArithmetic.cs index 52148bce..84a5babf 100644 --- a/ChocolArm64/Instruction/AInstEmitSimdArithmetic.cs +++ b/ChocolArm64/Instruction/AInstEmitSimdArithmetic.cs @@ -546,6 +546,20 @@ namespace ChocolArm64.Instruction EmitVectorBinaryOpZx(Context, () => Context.Emit(OpCodes.Sub)); } + public static void Uabdl_V(AILEmitterCtx Context) + { + EmitVectorWidenRnRmTernaryOpZx(Context, () => + { + Context.Emit(OpCodes.Sub); + + 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) { EmitVectorWidenRnRmBinaryOpZx(Context, () => Context.Emit(OpCodes.Add)); -- cgit v1.2.3