aboutsummaryrefslogtreecommitdiff
path: root/ARMeilleure/Decoders/OpCode32SimdMemSingle.cs
diff options
context:
space:
mode:
authorTSR Berry <20988865+TSRBerry@users.noreply.github.com>2023-04-08 01:22:00 +0200
committerMary <thog@protonmail.com>2023-04-27 23:51:14 +0200
commitcee712105850ac3385cd0091a923438167433f9f (patch)
tree4a5274b21d8b7f938c0d0ce18736d3f2993b11b1 /ARMeilleure/Decoders/OpCode32SimdMemSingle.cs
parentcd124bda587ef09668a971fa1cac1c3f0cfc9f21 (diff)
Move solution and projects to src
Diffstat (limited to 'ARMeilleure/Decoders/OpCode32SimdMemSingle.cs')
-rw-r--r--ARMeilleure/Decoders/OpCode32SimdMemSingle.cs51
1 files changed, 0 insertions, 51 deletions
diff --git a/ARMeilleure/Decoders/OpCode32SimdMemSingle.cs b/ARMeilleure/Decoders/OpCode32SimdMemSingle.cs
deleted file mode 100644
index 35dd41c2..00000000
--- a/ARMeilleure/Decoders/OpCode32SimdMemSingle.cs
+++ /dev/null
@@ -1,51 +0,0 @@
-using ARMeilleure.State;
-
-namespace ARMeilleure.Decoders
-{
- class OpCode32SimdMemSingle : OpCode32, IOpCode32Simd
- {
- public int Vd { get; }
- public int Rn { get; }
- public int Rm { get; }
- public int IndexAlign { get; }
- public int Index { get; }
- public bool WBack { get; }
- public bool RegisterIndex { get; }
- public int Size { get; }
- public bool Replicate { get; }
- public int Increment { get; }
-
- public new static OpCode Create(InstDescriptor inst, ulong address, int opCode) => new OpCode32SimdMemSingle(inst, address, opCode, false);
- public static OpCode CreateT32(InstDescriptor inst, ulong address, int opCode) => new OpCode32SimdMemSingle(inst, address, opCode, true);
-
- public OpCode32SimdMemSingle(InstDescriptor inst, ulong address, int opCode, bool isThumb) : base(inst, address, opCode)
- {
- IsThumb = isThumb;
-
- Vd = (opCode >> 12) & 0xf;
- Vd |= (opCode >> 18) & 0x10;
-
- IndexAlign = (opCode >> 4) & 0xf;
-
- Size = (opCode >> 10) & 0x3;
- Replicate = Size == 3;
- if (Replicate)
- {
- Size = (opCode >> 6) & 0x3;
- Increment = ((opCode >> 5) & 1) + 1;
- Index = 0;
- }
- else
- {
- Increment = (((IndexAlign >> Size) & 1) == 0) ? 1 : 2;
- Index = IndexAlign >> (1 + Size);
- }
-
- Rm = (opCode >> 0) & 0xf;
- Rn = (opCode >> 16) & 0xf;
-
- WBack = Rm != RegisterAlias.Aarch32Pc;
- RegisterIndex = Rm != RegisterAlias.Aarch32Pc && Rm != RegisterAlias.Aarch32Sp;
- }
- }
-}