Implement method call

This commit is contained in:
Takashi Kokubun 2023-02-03 22:42:13 -08:00
parent fa0b9c1c97
commit e731ced271
12 changed files with 308 additions and 81 deletions

View file

@ -387,6 +387,16 @@ module RubyVM::MJIT
def sub(dst, src)
case [dst, src]
# SUB r/m64, imm8
in [Symbol => dst_reg, Integer => src_imm] if r64?(dst_reg) && imm8?(src_imm)
# REX.W + 83 /5 ib
# MI: Operand 1: ModRM:r/m (r, w), Operand 2: imm8/16/32
insn(
prefix: REX_W,
opcode: 0x83,
mod_rm: ModRM[mod: Mod11, reg: 5, rm: dst_reg],
imm: imm8(src_imm),
)
# SUB r/m64, r64 (Mod 11: reg)
in [Symbol => dst_reg, Symbol => src_reg] if r64?(dst_reg) && r64?(src_reg)
# REX.W + 29 /r