diff options
| author | gdkchan <gab.dark.100@gmail.com> | 2018-03-30 17:37:31 -0300 |
|---|---|---|
| committer | gdkchan <gab.dark.100@gmail.com> | 2018-03-30 17:37:31 -0300 |
| commit | 916540ff41446643a952fe7612aed16bae3fd7d8 (patch) | |
| tree | fe6358cfcee8924d0f9dbf2755b0efde259923e5 /ChocolArm64/Instruction/AInstEmitSimdArithmetic.cs | |
| parent | 76ac31add656c71f9cfb3307f5863cc98c8d1467 (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.cs | 6 |
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) |
