Update AOpCodeSimdRegElemF.cs
This commit is contained in:
parent
5d3271241b
commit
b20d3d24d4
1 changed files with 19 additions and 8 deletions
|
@ -8,15 +8,26 @@ namespace ChocolArm64.Decoder
|
||||||
|
|
||||||
public AOpCodeSimdRegElemF(AInst Inst, long Position, int OpCode) : base(Inst, Position, OpCode)
|
public AOpCodeSimdRegElemF(AInst Inst, long Position, int OpCode) : base(Inst, Position, OpCode)
|
||||||
{
|
{
|
||||||
if ((Size & 1) != 0)
|
switch ((OpCode >> 21) & 3) // sz:L
|
||||||
{
|
{
|
||||||
Index = (OpCode >> 11) & 1;
|
case 0: // H:0
|
||||||
}
|
Index = (OpCode >> 10) & 2; // 0, 2
|
||||||
else
|
|
||||||
{
|
break;
|
||||||
Index = (OpCode >> 21) & 1 |
|
|
||||||
(OpCode >> 10) & 2;
|
case 1: // H:1
|
||||||
|
Index = (OpCode >> 10) & 2;
|
||||||
|
Index++; // 1, 3
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 2: // H
|
||||||
|
Index = (OpCode >> 11) & 1; // 0, 1
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
default: Emitter = AInstEmit.Und; return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue