RJIT: Optimize String#<<

This commit is contained in:
Takashi Kokubun 2023-03-18 23:49:11 -07:00
parent bcd0aa896f
commit 2121282753
6 changed files with 121 additions and 1 deletions

View file

@ -838,6 +838,20 @@ module RubyVM::RJIT
end
end
def xor(dst, src)
case [dst, src]
# XOR r/m64, r64 (Mod 11: reg)
in [R64 => dst_reg, R64 => src_reg]
# REX.W + 31 /r
# MR: Operand 1: ModRM:r/m (r, w), Operand 2: ModRM:reg (r)
insn(
prefix: REX_W,
opcode: 0x31,
mod_rm: ModRM[mod: Mod11, reg: src_reg, rm: dst_reg],
)
end
end
#
# Utilities
#