aboutsummaryrefslogtreecommitdiff
path: root/ChocolArm64/Instruction/AInstEmitSimdHelper.cs
diff options
context:
space:
mode:
authorLDj3SNuD <35856442+LDj3SNuD@users.noreply.github.com>2018-09-08 19:24:29 +0200
committergdkchan <gab.dark.100@gmail.com>2018-09-08 14:24:29 -0300
commita0c78f792012cdea060444d7cb6a36dbabb04d52 (patch)
treed0c517047dac5fc96c04135ccfb07ef5d2db1622 /ChocolArm64/Instruction/AInstEmitSimdHelper.cs
parentca1e37a29553f97ecf574fb3678422dd93a2b91d (diff)
Fix/Add 10 Shift Right and Mls_Ve Instructions; add 14 Tests. (#407)
* Update AOpCodeTable.cs * Update AInstEmitSimdShift.cs * Update ASoftFallback.cs * Update AOpCodeSimdShImm.cs * Update ABitUtils.cs * Update AInstEmitSimdArithmetic.cs * Update AInstEmitSimdHelper.cs * Create CpuTestSimdShImm.cs * Create CpuTestSimdRegElem.cs * Address PR feedback. * Nit. * Nit.
Diffstat (limited to 'ChocolArm64/Instruction/AInstEmitSimdHelper.cs')
-rw-r--r--ChocolArm64/Instruction/AInstEmitSimdHelper.cs5
1 files changed, 4 insertions, 1 deletions
diff --git a/ChocolArm64/Instruction/AInstEmitSimdHelper.cs b/ChocolArm64/Instruction/AInstEmitSimdHelper.cs
index 4ecfdae3..cb884c1a 100644
--- a/ChocolArm64/Instruction/AInstEmitSimdHelper.cs
+++ b/ChocolArm64/Instruction/AInstEmitSimdHelper.cs
@@ -626,6 +626,9 @@ namespace ChocolArm64.Instruction
int Bytes = Op.GetBitsCount() >> 3;
int Elems = Bytes >> Op.Size;
+ EmitVectorExtract(Context, Op.Rm, Elem, Op.Size, Signed);
+ Context.EmitSttmp();
+
for (int Index = 0; Index < Elems; Index++)
{
if (Ternary)
@@ -634,7 +637,7 @@ namespace ChocolArm64.Instruction
}
EmitVectorExtract(Context, Op.Rn, Index, Op.Size, Signed);
- EmitVectorExtract(Context, Op.Rm, Elem, Op.Size, Signed);
+ Context.EmitLdtmp();
Emit();