public static void EmitAluLoadRm(ILEmitterCtx context) { if (context.CurrOp is IOpCodeAluRs64 op) { context.EmitLdintzr(op.Rm); } else if (context.CurrOp is OpCode32AluRsImm op32) { InstEmit32Helper.EmitLoadFromRegister(context, op32.Rm); } else { throw new InvalidOperationException(); } }
public static void EmitAluLoadRn(ILEmitterCtx context) { if (context.CurrOp is IOpCodeAlu64 op) { if (op.DataOp == DataOp.Logical || op is IOpCodeAluRs64) { context.EmitLdintzr(op.Rn); } else { context.EmitLdint(op.Rn); } } else if (context.CurrOp is IOpCode32Alu op32) { InstEmit32Helper.EmitLoadFromRegister(context, op32.Rn); } else { throw new InvalidOperationException(); } }