aboutsummaryrefslogtreecommitdiff
path: root/src/ARMeilleure/Decoders/OpCodeSimdMemSs.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/ARMeilleure/Decoders/OpCodeSimdMemSs.cs')
-rw-r--r--src/ARMeilleure/Decoders/OpCodeSimdMemSs.cs96
1 files changed, 48 insertions, 48 deletions
diff --git a/src/ARMeilleure/Decoders/OpCodeSimdMemSs.cs b/src/ARMeilleure/Decoders/OpCodeSimdMemSs.cs
index 44abdd38..5bc614e1 100644
--- a/src/ARMeilleure/Decoders/OpCodeSimdMemSs.cs
+++ b/src/ARMeilleure/Decoders/OpCodeSimdMemSs.cs
@@ -2,21 +2,21 @@ namespace ARMeilleure.Decoders
{
class OpCodeSimdMemSs : OpCodeMemReg, IOpCodeSimd
{
- public int SElems { get; }
- public int Index { get; }
+ public int SElems { get; }
+ public int Index { get; }
public bool Replicate { get; }
- public bool WBack { get; }
+ public bool WBack { get; }
public new static OpCode Create(InstDescriptor inst, ulong address, int opCode) => new OpCodeSimdMemSs(inst, address, opCode);
public OpCodeSimdMemSs(InstDescriptor inst, ulong address, int opCode) : base(inst, address, opCode)
{
- int size = (opCode >> 10) & 3;
- int s = (opCode >> 12) & 1;
+ int size = (opCode >> 10) & 3;
+ int s = (opCode >> 12) & 1;
int sElems = (opCode >> 12) & 2;
- int scale = (opCode >> 14) & 3;
- int l = (opCode >> 22) & 1;
- int q = (opCode >> 30) & 1;
+ int scale = (opCode >> 14) & 3;
+ int l = (opCode >> 22) & 1;
+ int q = (opCode >> 30) & 1;
sElems |= (opCode >> 21) & 1;
@@ -27,63 +27,63 @@ namespace ARMeilleure.Decoders
switch (scale)
{
case 1:
- {
- if ((size & 1) != 0)
{
- Instruction = InstDescriptor.Undefined;
+ if ((size & 1) != 0)
+ {
+ Instruction = InstDescriptor.Undefined;
- return;
- }
-
- index >>= 1;
-
- break;
- }
+ return;
+ }
- case 2:
- {
- if ((size & 2) != 0 ||
- ((size & 1) != 0 && s != 0))
- {
- Instruction = InstDescriptor.Undefined;
+ index >>= 1;
- return;
+ break;
}
- if ((size & 1) != 0)
- {
- index >>= 3;
-
- scale = 3;
- }
- else
+ case 2:
{
- index >>= 2;
+ if ((size & 2) != 0 ||
+ ((size & 1) != 0 && s != 0))
+ {
+ Instruction = InstDescriptor.Undefined;
+
+ return;
+ }
+
+ if ((size & 1) != 0)
+ {
+ index >>= 3;
+
+ scale = 3;
+ }
+ else
+ {
+ index >>= 2;
+ }
+
+ break;
}
- break;
- }
-
case 3:
- {
- if (l == 0 || s != 0)
{
- Instruction = InstDescriptor.Undefined;
+ if (l == 0 || s != 0)
+ {
+ Instruction = InstDescriptor.Undefined;
- return;
- }
+ return;
+ }
- scale = size;
+ scale = size;
- Replicate = true;
+ Replicate = true;
- break;
- }
+ break;
+ }
}
- Index = index;
+ Index = index;
SElems = sElems;
- Size = scale;
+ Size = scale;
Extend64 = false;
@@ -94,4 +94,4 @@ namespace ARMeilleure.Decoders
: RegisterSize.Simd64;
}
}
-} \ No newline at end of file
+}