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/AInstEmitSimdHelper.cs | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'ChocolArm64/Instruction/AInstEmitSimdHelper.cs') diff --git a/ChocolArm64/Instruction/AInstEmitSimdHelper.cs b/ChocolArm64/Instruction/AInstEmitSimdHelper.cs index d8642e99..9a749ec6 100644 --- a/ChocolArm64/Instruction/AInstEmitSimdHelper.cs +++ b/ChocolArm64/Instruction/AInstEmitSimdHelper.cs @@ -447,6 +447,9 @@ namespace ChocolArm64.Instruction { AOpCodeSimdReg Op = (AOpCodeSimdReg)Context.CurrOp; + Context.EmitLdvec(Op.Rd); + Context.EmitStvectmp(); + int Elems = 8 >> Op.Size; int Part = Op.RegisterSize == ARegisterSize.SIMD128 ? Elems : 0; @@ -489,6 +492,9 @@ namespace ChocolArm64.Instruction { AOpCodeSimdReg Op = (AOpCodeSimdReg)Context.CurrOp; + Context.EmitLdvec(Op.Rd); + Context.EmitStvectmp(); + int Elems = 8 >> Op.Size; int Part = Op.RegisterSize == ARegisterSize.SIMD128 ? Elems : 0; -- cgit v1.2.3