|
@@ -99,7 +99,7 @@ namespace ARMeilleure.Instructions
|
|
|
EmitLoadSimd(context, address, GetVecA32(dreg >> 1), dreg >> 1, rIndex++, op.Size);
|
|
EmitLoadSimd(context, address, GetVecA32(dreg >> 1), dreg >> 1, rIndex++, op.Size);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- }
|
|
|
|
|
|
|
+ }
|
|
|
else
|
|
else
|
|
|
{
|
|
{
|
|
|
EmitLoadSimd(context, address, GetVecA32(d >> 1), d >> 1, index, op.Size);
|
|
EmitLoadSimd(context, address, GetVecA32(d >> 1), d >> 1, index, op.Size);
|
|
@@ -120,13 +120,13 @@ namespace ARMeilleure.Instructions
|
|
|
{
|
|
{
|
|
|
Operand m = GetIntA32(context, op.Rm);
|
|
Operand m = GetIntA32(context, op.Rm);
|
|
|
SetIntA32(context, op.Rn, context.Add(n, m));
|
|
SetIntA32(context, op.Rn, context.Add(n, m));
|
|
|
- }
|
|
|
|
|
|
|
+ }
|
|
|
else
|
|
else
|
|
|
{
|
|
{
|
|
|
SetIntA32(context, op.Rn, context.Add(n, Const(count * eBytes)));
|
|
SetIntA32(context, op.Rn, context.Add(n, Const(count * eBytes)));
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- }
|
|
|
|
|
|
|
+ }
|
|
|
else
|
|
else
|
|
|
{
|
|
{
|
|
|
OpCode32SimdMemPair op = (OpCode32SimdMemPair)context.CurrOp;
|
|
OpCode32SimdMemPair op = (OpCode32SimdMemPair)context.CurrOp;
|
|
@@ -161,7 +161,7 @@ namespace ARMeilleure.Instructions
|
|
|
}
|
|
}
|
|
|
else
|
|
else
|
|
|
{
|
|
{
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
if (load)
|
|
if (load)
|
|
|
{
|
|
{
|
|
|
EmitLoadSimd(context, address, GetVecA32(elemD >> 1), elemD >> 1, index, op.Size);
|
|
EmitLoadSimd(context, address, GetVecA32(elemD >> 1), elemD >> 1, index, op.Size);
|
|
@@ -213,7 +213,7 @@ namespace ARMeilleure.Instructions
|
|
|
int sReg = (op.DoubleWidth) ? (op.Vd << 1) : op.Vd;
|
|
int sReg = (op.DoubleWidth) ? (op.Vd << 1) : op.Vd;
|
|
|
int offset = 0;
|
|
int offset = 0;
|
|
|
int byteSize = 4;
|
|
int byteSize = 4;
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
for (int num = 0; num < range; num++, sReg++)
|
|
for (int num = 0; num < range; num++, sReg++)
|
|
|
{
|
|
{
|
|
|
Operand address = context.Add(baseAddress, Const(offset));
|
|
Operand address = context.Add(baseAddress, Const(offset));
|