aboutsummaryrefslogtreecommitdiff
path: root/ChocolArm64/Instruction/AInstEmitSimdArithmetic.cs
diff options
context:
space:
mode:
authorgdkchan <gab.dark.100@gmail.com>2018-03-30 17:37:31 -0300
committergdkchan <gab.dark.100@gmail.com>2018-03-30 17:37:31 -0300
commit916540ff41446643a952fe7612aed16bae3fd7d8 (patch)
treefe6358cfcee8924d0f9dbf2755b0efde259923e5 /ChocolArm64/Instruction/AInstEmitSimdArithmetic.cs
parent76ac31add656c71f9cfb3307f5863cc98c8d1467 (diff)
Fix EXT/Widening instruction carrying garbage values on some cases, fix ABD (it shouldn't accumulate, this is another variation of the instruction)
Diffstat (limited to 'ChocolArm64/Instruction/AInstEmitSimdArithmetic.cs')
-rw-r--r--ChocolArm64/Instruction/AInstEmitSimdArithmetic.cs6
1 files changed, 2 insertions, 4 deletions
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)