Update AOpCodeSimdRegElemF.cs

This commit is contained in:
LDj3SNuD 2018-10-13 01:11:16 +02:00 committed by GitHub
commit b20d3d24d4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -8,14 +8,25 @@ 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;
} }
} }
} }