forked from Mirror/Ryujinx
Fix return type mismatch on 32-bit titles (#3000)
This commit is contained in:
parent
3fa7ef21b4
commit
bd215e447d
2 changed files with 8 additions and 3 deletions
|
@ -163,6 +163,11 @@ namespace ARMeilleure.Instructions
|
|||
{
|
||||
if (isReturn)
|
||||
{
|
||||
if (target.Type == OperandType.I32)
|
||||
{
|
||||
target = context.ZeroExtend32(OperandType.I64, target);
|
||||
}
|
||||
|
||||
context.Return(target);
|
||||
}
|
||||
else
|
||||
|
|
|
@ -101,7 +101,7 @@ namespace ARMeilleure.Instructions
|
|||
|
||||
Operand address = GetAddress(context);
|
||||
|
||||
InstEmitMemoryHelper.EmitStore(context, address, op.Rt, op.Size);
|
||||
EmitStore(context, address, op.Rt, op.Size);
|
||||
|
||||
EmitWBackIfNeeded(context, address);
|
||||
}
|
||||
|
@ -113,8 +113,8 @@ namespace ARMeilleure.Instructions
|
|||
Operand address = GetAddress(context);
|
||||
Operand address2 = GetAddress(context, 1L << op.Size);
|
||||
|
||||
InstEmitMemoryHelper.EmitStore(context, address, op.Rt, op.Size);
|
||||
InstEmitMemoryHelper.EmitStore(context, address2, op.Rt2, op.Size);
|
||||
EmitStore(context, address, op.Rt, op.Size);
|
||||
EmitStore(context, address2, op.Rt2, op.Size);
|
||||
|
||||
EmitWBackIfNeeded(context, address);
|
||||
}
|
||||
|
|
Reference in a new issue