aboutsummaryrefslogtreecommitdiff
path: root/src/ARMeilleure/Instructions/InstEmitSimdShift.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/ARMeilleure/Instructions/InstEmitSimdShift.cs')
-rw-r--r--src/ARMeilleure/Instructions/InstEmitSimdShift.cs39
1 files changed, 22 insertions, 17 deletions
diff --git a/src/ARMeilleure/Instructions/InstEmitSimdShift.cs b/src/ARMeilleure/Instructions/InstEmitSimdShift.cs
index 19e41119..be067064 100644
--- a/src/ARMeilleure/Instructions/InstEmitSimdShift.cs
+++ b/src/ARMeilleure/Instructions/InstEmitSimdShift.cs
@@ -6,7 +6,6 @@ using ARMeilleure.Translation;
using System;
using System.Diagnostics;
using System.Reflection;
-
using static ARMeilleure.Instructions.InstEmitHelper;
using static ARMeilleure.Instructions.InstEmitSimdHelper;
using static ARMeilleure.IntermediateRepresentation.Operand.Factory;
@@ -17,12 +16,12 @@ namespace ARMeilleure.Instructions
static partial class InstEmit
{
-#region "Masks"
+ #region "Masks"
private static readonly long[] _masks_SliSri = new long[] // Replication masks.
{
- 0x0101010101010101L, 0x0001000100010001L, 0x0000000100000001L, 0x0000000000000001L
+ 0x0101010101010101L, 0x0001000100010001L, 0x0000000100000001L, 0x0000000000000001L,
};
-#endregion
+ #endregion
public static void Rshrn_V(ArmEmitterContext context)
{
@@ -51,9 +50,15 @@ namespace ARMeilleure.Instructions
switch (op.Size + 1)
{
- case 1: mask = X86GetAllElements(context, (int)roundConst * 0x00010001); break;
- case 2: mask = X86GetAllElements(context, (int)roundConst); break;
- case 3: mask = X86GetAllElements(context, roundConst); break;
+ case 1:
+ mask = X86GetAllElements(context, (int)roundConst * 0x00010001);
+ break;
+ case 2:
+ mask = X86GetAllElements(context, (int)roundConst);
+ break;
+ case 3:
+ mask = X86GetAllElements(context, roundConst);
+ break;
}
Intrinsic addInst = X86PaddInstruction[op.Size + 1];
@@ -1174,14 +1179,14 @@ namespace ARMeilleure.Instructions
Scalar = 1 << 0,
Signed = 1 << 1,
- Round = 1 << 2,
+ Round = 1 << 2,
Accumulate = 1 << 3,
ScalarSx = Scalar | Signed,
ScalarZx = Scalar,
VectorSx = Signed,
- VectorZx = 0
+ VectorZx = 0,
}
private static void EmitScalarShrImmOpSx(ArmEmitterContext context, ShrImmFlags flags)
@@ -1210,9 +1215,9 @@ namespace ARMeilleure.Instructions
Operand res = context.VectorZero();
- bool scalar = (flags & ShrImmFlags.Scalar) != 0;
- bool signed = (flags & ShrImmFlags.Signed) != 0;
- bool round = (flags & ShrImmFlags.Round) != 0;
+ bool scalar = (flags & ShrImmFlags.Scalar) != 0;
+ bool signed = (flags & ShrImmFlags.Signed) != 0;
+ bool round = (flags & ShrImmFlags.Round) != 0;
bool accumulate = (flags & ShrImmFlags.Accumulate) != 0;
int shift = GetImmShr(op);
@@ -1288,7 +1293,7 @@ namespace ARMeilleure.Instructions
[Flags]
private enum ShrImmSaturatingNarrowFlags
{
- Scalar = 1 << 0,
+ Scalar = 1 << 0,
SignedSrc = 1 << 1,
SignedDst = 1 << 2,
@@ -1300,7 +1305,7 @@ namespace ARMeilleure.Instructions
VectorSxSx = SignedSrc | SignedDst,
VectorSxZx = SignedSrc,
- VectorZxZx = 0
+ VectorZxZx = 0,
}
private static void EmitRoundShrImmSaturatingNarrowOp(ArmEmitterContext context, ShrImmSaturatingNarrowFlags flags)
@@ -1312,10 +1317,10 @@ namespace ARMeilleure.Instructions
{
OpCodeSimdShImm op = (OpCodeSimdShImm)context.CurrOp;
- bool scalar = (flags & ShrImmSaturatingNarrowFlags.Scalar) != 0;
+ bool scalar = (flags & ShrImmSaturatingNarrowFlags.Scalar) != 0;
bool signedSrc = (flags & ShrImmSaturatingNarrowFlags.SignedSrc) != 0;
bool signedDst = (flags & ShrImmSaturatingNarrowFlags.SignedDst) != 0;
- bool round = (flags & ShrImmSaturatingNarrowFlags.Round) != 0;
+ bool round = (flags & ShrImmSaturatingNarrowFlags.Round) != 0;
int shift = GetImmShr(op);
@@ -1585,7 +1590,7 @@ namespace ARMeilleure.Instructions
Scalar = 1 << 0,
Signed = 1 << 1,
Round = 1 << 2,
- Saturating = 1 << 3
+ Saturating = 1 << 3,
}
private static void EmitShlRegOp(ArmEmitterContext context, ShlRegFlags flags = ShlRegFlags.None)