aboutsummaryrefslogtreecommitdiff
path: root/ChocolArm64/Instruction/AInstEmitSimdHelper.cs
diff options
context:
space:
mode:
authorLDj3SNuD <35856442+LDj3SNuD@users.noreply.github.com>2018-09-17 06:54:05 +0200
committergdkchan <gab.dark.100@gmail.com>2018-09-17 01:54:05 -0300
commitc7387be0d296f54a6ad5678d25e2c0d4910b7da4 (patch)
tree6c9374064822de8a2a40c1db94064c4023bdf059 /ChocolArm64/Instruction/AInstEmitSimdHelper.cs
parent8a78a703f2e8e374286efaae575d87fb38242427 (diff)
Fix/Add 1+12 [Saturating] [Rounded] Shift Right Narrow (imm.) Instructions; add 14 Tests. Add 6 Tests for PR#405. Add 2 Tests for PR#412. (#409)
* Update AOpCodeTable.cs * Update AInstEmitSimdShift.cs * Update CpuTestSimdShImm.cs * Update AInstEmitSimdArithmetic.cs * Update AInstEmitSimdHelper.cs * Create CpuTestSimdIns.cs * Update CpuTest.cs * Update CpuTestSimd.cs * Update CpuTestSimdReg.cs * Update CpuTest.cs * Update CpuTestSimd.cs * Update CpuTestSimdReg.cs * Update CpuTestSimd.cs * Update CpuTestSimdReg.cs * Update CpuTest.cs * Update CpuTestSimdReg.cs * Update CpuTestSimd.cs
Diffstat (limited to 'ChocolArm64/Instruction/AInstEmitSimdHelper.cs')
-rw-r--r--ChocolArm64/Instruction/AInstEmitSimdHelper.cs46
1 files changed, 1 insertions, 45 deletions
diff --git a/ChocolArm64/Instruction/AInstEmitSimdHelper.cs b/ChocolArm64/Instruction/AInstEmitSimdHelper.cs
index cb884c1a..75a5a0d0 100644
--- a/ChocolArm64/Instruction/AInstEmitSimdHelper.cs
+++ b/ChocolArm64/Instruction/AInstEmitSimdHelper.cs
@@ -1004,56 +1004,14 @@ namespace ChocolArm64.Instruction
ScalarSxSx = Scalar | SignedSrc | SignedDst,
ScalarSxZx = Scalar | SignedSrc,
- ScalarZxSx = Scalar | SignedDst,
ScalarZxZx = Scalar,
VectorSxSx = SignedSrc | SignedDst,
VectorSxZx = SignedSrc,
- VectorZxSx = SignedDst,
VectorZxZx = 0
}
- public static void EmitScalarSaturatingNarrowOpSxSx(AILEmitterCtx Context, Action Emit)
- {
- EmitSaturatingNarrowOp(Context, Emit, SaturatingNarrowFlags.ScalarSxSx);
- }
-
- public static void EmitScalarSaturatingNarrowOpSxZx(AILEmitterCtx Context, Action Emit)
- {
- EmitSaturatingNarrowOp(Context, Emit, SaturatingNarrowFlags.ScalarSxZx);
- }
-
- public static void EmitScalarSaturatingNarrowOpZxSx(AILEmitterCtx Context, Action Emit)
- {
- EmitSaturatingNarrowOp(Context, Emit, SaturatingNarrowFlags.ScalarZxSx);
- }
-
- public static void EmitScalarSaturatingNarrowOpZxZx(AILEmitterCtx Context, Action Emit)
- {
- EmitSaturatingNarrowOp(Context, Emit, SaturatingNarrowFlags.ScalarZxZx);
- }
-
- public static void EmitVectorSaturatingNarrowOpSxSx(AILEmitterCtx Context, Action Emit)
- {
- EmitSaturatingNarrowOp(Context, Emit, SaturatingNarrowFlags.VectorSxSx);
- }
-
- public static void EmitVectorSaturatingNarrowOpSxZx(AILEmitterCtx Context, Action Emit)
- {
- EmitSaturatingNarrowOp(Context, Emit, SaturatingNarrowFlags.VectorSxZx);
- }
-
- public static void EmitVectorSaturatingNarrowOpZxSx(AILEmitterCtx Context, Action Emit)
- {
- EmitSaturatingNarrowOp(Context, Emit, SaturatingNarrowFlags.VectorZxSx);
- }
-
- public static void EmitVectorSaturatingNarrowOpZxZx(AILEmitterCtx Context, Action Emit)
- {
- EmitSaturatingNarrowOp(Context, Emit, SaturatingNarrowFlags.VectorZxZx);
- }
-
- public static void EmitSaturatingNarrowOp(AILEmitterCtx Context, Action Emit, SaturatingNarrowFlags Flags)
+ public static void EmitSaturatingNarrowOp(AILEmitterCtx Context, SaturatingNarrowFlags Flags)
{
AOpCodeSimd Op = (AOpCodeSimd)Context.CurrOp;
@@ -1080,8 +1038,6 @@ namespace ChocolArm64.Instruction
{
EmitVectorExtract(Context, Op.Rn, Index, Op.Size + 1, SignedSrc);
- Emit();
-
EmitSatQ(Context, Op.Size, SignedSrc, SignedDst);
EmitVectorInsertTmp(Context, Part + Index, Op.Size);