Fix BLR when the source reg is X30 (#493)
This commit is contained in:
parent
44c1cf3fe5
commit
a4822b7946
@ -72,11 +72,14 @@ namespace ChocolArm64.Instructions
|
|||||||
{
|
{
|
||||||
OpCodeBReg64 op = (OpCodeBReg64)context.CurrOp;
|
OpCodeBReg64 op = (OpCodeBReg64)context.CurrOp;
|
||||||
|
|
||||||
|
context.EmitLdintzr(op.Rn);
|
||||||
|
context.EmitSttmp();
|
||||||
|
|
||||||
context.EmitLdc_I(op.Position + 4);
|
context.EmitLdc_I(op.Position + 4);
|
||||||
context.EmitStint(CpuThreadState.LrIndex);
|
context.EmitStint(CpuThreadState.LrIndex);
|
||||||
context.EmitStoreState();
|
context.EmitStoreState();
|
||||||
context.EmitLdintzr(op.Rn);
|
|
||||||
|
|
||||||
|
context.EmitLdtmp();
|
||||||
context.Emit(OpCodes.Ret);
|
context.Emit(OpCodes.Ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user