cranelift_assembler_x64

Module inst

Source
Expand description

Expose all known instructions as Rust structs; this is generated in build.rs.

See also: Inst, an enum containing all these instructions.

Structs§

  • adcb: I(al[rw], imm8) => 0x14 ib [_64b | compat]
  • adcb: MI(rm8[rw], imm8) => 0x80 /2 ib [_64b | compat]
  • adcb: MR(rm8[rw], r8) => 0x10 /r [_64b | compat]
  • adcb: RM(r8[rw], rm8) => 0x12 /r [_64b | compat]
  • adcl: I(eax[rw], imm32) => 0x15 id [_64b | compat]
  • adcl: MI(rm32[rw], imm32) => 0x81 /2 id [_64b | compat]
  • adcl: MI_SXB(rm32[rw], imm8[sxl]) => 0x83 /2 ib [_64b | compat]
  • adcl: MR(rm32[rw], r32) => 0x11 /r [_64b | compat]
  • adcl: RM(r32[rw], rm32) => 0x13 /r [_64b | compat]
  • adcq: I_SXL(rax[rw], imm32[sxq]) => REX.W + 0x15 id [_64b]
  • adcq: MI_SXB(rm64[rw], imm8[sxq]) => REX.W + 0x83 /2 ib [_64b]
  • adcq: MI_SXL(rm64[rw], imm32[sxq]) => REX.W + 0x81 /2 id [_64b]
  • adcq: MR(rm64[rw], r64) => REX.W + 0x11 /r [_64b]
  • adcq: RM(r64[rw], rm64) => REX.W + 0x13 /r [_64b]
  • adcw: I(ax[rw], imm16) => 0x66 + 0x15 iw [_64b | compat]
  • adcw: MI(rm16[rw], imm16) => 0x66 + 0x81 /2 iw [_64b | compat]
  • adcw: MR(rm16[rw], r16) => 0x66 + 0x11 /r [_64b | compat]
  • adcw: RM(r16[rw], rm16) => 0x66 + 0x13 /r [_64b | compat]
  • addb: I(al[rw], imm8) => 0x04 ib [_64b | compat]
  • addb: MI(rm8[rw], imm8) => 0x80 /0 ib [_64b | compat]
  • addb: MR(rm8[rw], r8) => 0x00 /r [_64b | compat]
  • addb: RM(r8[rw], rm8) => 0x02 /r [_64b | compat]
  • addl: I(eax[rw], imm32) => 0x05 id [_64b | compat]
  • addl: MI(rm32[rw], imm32) => 0x81 /0 id [_64b | compat]
  • addl: MI_SXB(rm32[rw], imm8[sxl]) => 0x83 /0 ib [_64b | compat]
  • addl: MR(rm32[rw], r32) => 0x01 /r [_64b | compat]
  • addl: RM(r32[rw], rm32) => 0x03 /r [_64b | compat]
  • addq: I_SXL(rax[rw], imm32[sxq]) => REX.W + 0x05 id [_64b]
  • addq: MI_SXB(rm64[rw], imm8[sxq]) => REX.W + 0x83 /0 ib [_64b]
  • addq: MI_SXL(rm64[rw], imm32[sxq]) => REX.W + 0x81 /0 id [_64b]
  • addq: MR(rm64[rw], r64) => REX.W + 0x01 /r [_64b]
  • addq: RM(r64[rw], rm64) => REX.W + 0x03 /r [_64b]
  • addw: I(ax[rw], imm16) => 0x66 + 0x05 iw [_64b | compat]
  • addw: MI(rm16[rw], imm16) => 0x66 + 0x81 /0 iw [_64b | compat]
  • addw: MR(rm16[rw], r16) => 0x66 + 0x01 /r [_64b | compat]
  • addw: RM(r16[rw], rm16) => 0x66 + 0x03 /r [_64b | compat]
  • andb: I(al[rw], imm8) => 0x24 ib [_64b | compat]
  • andb: MI(rm8[rw], imm8) => 0x80 /4 ib [_64b | compat]
  • andb: MR(rm8[rw], r8) => 0x20 /r [_64b | compat]
  • andb: RM(r8[rw], rm8) => 0x22 /r [_64b | compat]
  • andl: I(eax[rw], imm32) => 0x25 id [_64b | compat]
  • andl: MI(rm32[rw], imm32) => 0x81 /4 id [_64b | compat]
  • andl: MI_SXB(rm32[rw], imm8[sxl]) => 0x83 /4 ib [_64b | compat]
  • andl: MR(rm32[rw], r32) => 0x21 /r [_64b | compat]
  • andl: RM(r32[rw], rm32) => 0x23 /r [_64b | compat]
  • andq: I_SXL(rax[rw], imm32[sxq]) => REX.W + 0x25 id [_64b]
  • andq: MI_SXB(rm64[rw], imm8[sxq]) => REX.W + 0x83 /4 ib [_64b]
  • andq: MI_SXL(rm64[rw], imm32[sxq]) => REX.W + 0x81 /4 id [_64b]
  • andq: MR(rm64[rw], r64) => REX.W + 0x21 /r [_64b]
  • andq: RM(r64[rw], rm64) => REX.W + 0x23 /r [_64b]
  • andw: I(ax[rw], imm16) => 0x66 + 0x25 iw [_64b | compat]
  • andw: MI(rm16[rw], imm16) => 0x66 + 0x81 /4 iw [_64b | compat]
  • andw: MR(rm16[rw], r16) => 0x66 + 0x21 /r [_64b | compat]
  • andw: RM(r16[rw], rm16) => 0x66 + 0x23 /r [_64b | compat]
  • orb: I(al[rw], imm8) => 0x0c ib [_64b | compat]
  • orb: MI(rm8[rw], imm8) => 0x80 /1 ib [_64b | compat]
  • orb: MR(rm8[rw], r8) => 0x08 /r [_64b | compat]
  • orb: RM(r8[rw], rm8) => 0x0a /r [_64b | compat]
  • orl: I(eax[rw], imm32) => 0x0d id [_64b | compat]
  • orl: MI(rm32[rw], imm32) => 0x81 /1 id [_64b | compat]
  • orl: MI_SXB(rm32[rw], imm8[sxl]) => 0x83 /1 ib [_64b | compat]
  • orl: MR(rm32[rw], r32) => 0x09 /r [_64b | compat]
  • orl: RM(r32[rw], rm32) => 0x0b /r [_64b | compat]
  • orpd: A(xmm[rw], rm128) => 0x66 + 0x0F + 0x56 /r [_64b]
  • orq: I_SXL(rax[rw], imm32[sxq]) => REX.W + 0x0d id [_64b]
  • orq: MI_SXB(rm64[rw], imm8[sxq]) => REX.W + 0x83 /1 ib [_64b]
  • orq: MI_SXL(rm64[rw], imm32[sxq]) => REX.W + 0x81 /1 id [_64b]
  • orq: MR(rm64[rw], r64) => REX.W + 0x09 /r [_64b]
  • orq: RM(r64[rw], rm64) => REX.W + 0x0b /r [_64b]
  • orw: I(ax[rw], imm16) => 0x66 + 0x0d iw [_64b | compat]
  • orw: MI(rm16[rw], imm16) => 0x66 + 0x81 /1 iw [_64b | compat]
  • orw: MR(rm16[rw], r16) => 0x66 + 0x09 /r [_64b | compat]
  • orw: RM(r16[rw], rm16) => 0x66 + 0x0b /r [_64b | compat]
  • sbbb: I(al[rw], imm8) => 0x1c ib [_64b | compat]
  • sbbb: MI(rm8[rw], imm8) => 0x80 /3 ib [_64b | compat]
  • sbbb: MR(rm8[rw], r8) => 0x18 /r [_64b | compat]
  • sbbb: RM(r8[rw], rm8) => 0x1a /r [_64b | compat]
  • sbbl: I(eax[rw], imm32) => 0x1d id [_64b | compat]
  • sbbl: MI(rm32[rw], imm32) => 0x81 /3 id [_64b | compat]
  • sbbl: MI_SXB(rm32[rw], imm8[sxl]) => 0x83 /3 ib [_64b | compat]
  • sbbl: MR(rm32[rw], r32) => 0x19 /r [_64b | compat]
  • sbbl: RM(r32[rw], rm32) => 0x1b /r [_64b | compat]
  • sbbq: I_SXL(rax[rw], imm32[sxq]) => REX.W + 0x1d id [_64b]
  • sbbq: MI_SXB(rm64[rw], imm8[sxq]) => REX.W + 0x83 /3 ib [_64b]
  • sbbq: MI_SXL(rm64[rw], imm32[sxq]) => REX.W + 0x81 /3 id [_64b]
  • sbbq: MR(rm64[rw], r64) => REX.W + 0x19 /r [_64b]
  • sbbq: RM(r64[rw], rm64) => REX.W + 0x1b /r [_64b]
  • sbbw: I(ax[rw], imm16) => 0x66 + 0x1d iw [_64b | compat]
  • sbbw: MI(rm16[rw], imm16) => 0x66 + 0x81 /3 iw [_64b | compat]
  • sbbw: MR(rm16[rw], r16) => 0x66 + 0x19 /r [_64b | compat]
  • sbbw: RM(r16[rw], rm16) => 0x66 + 0x1b /r [_64b | compat]
  • shldl: MRC(rm32[rw], r32, cl) => 0x0F + 0xa5 ib [_64b | compat]
  • shldl: MRI(rm32[rw], r32, imm8) => 0x0F + 0xa4 ib [_64b | compat]
  • shldq: MRC(rm64[rw], r64, cl) => REX.W + 0x0F + 0xa5 ib [_64b]
  • shldq: MRI(rm64[rw], r64, imm8) => REX.W + 0x0F + 0xa4 ib [_64b]
  • shldw: MRC(rm16[rw], r16, cl) => 0x66 + 0x0F + 0xa5 ib [_64b | compat]
  • shldw: MRI(rm16[rw], r16, imm8) => 0x66 + 0x0F + 0xa4 ib [_64b | compat]
  • subb: I(al[rw], imm8) => 0x2c ib [_64b | compat]
  • subb: MI(rm8[rw], imm8) => 0x80 /5 ib [_64b | compat]
  • subb: MR(rm8[rw], r8) => 0x28 /r [_64b | compat]
  • subb: RM(r8[rw], rm8) => 0x2a /r [_64b | compat]
  • subl: I(eax[rw], imm32) => 0x2d id [_64b | compat]
  • subl: MI(rm32[rw], imm32) => 0x81 /5 id [_64b | compat]
  • subl: MI_SXB(rm32[rw], imm8[sxl]) => 0x83 /5 ib [_64b | compat]
  • subl: MR(rm32[rw], r32) => 0x29 /r [_64b | compat]
  • subl: RM(r32[rw], rm32) => 0x2b /r [_64b | compat]
  • subq: I_SXL(rax[rw], imm32[sxq]) => REX.W + 0x2d id [_64b]
  • subq: MI_SXB(rm64[rw], imm8[sxq]) => REX.W + 0x83 /5 ib [_64b]
  • subq: MI_SXL(rm64[rw], imm32[sxq]) => REX.W + 0x81 /5 id [_64b]
  • subq: MR(rm64[rw], r64) => REX.W + 0x29 /r [_64b]
  • subq: RM(r64[rw], rm64) => REX.W + 0x2b /r [_64b]
  • subw: I(ax[rw], imm16) => 0x66 + 0x2d iw [_64b | compat]
  • subw: MI(rm16[rw], imm16) => 0x66 + 0x81 /5 iw [_64b | compat]
  • subw: MR(rm16[rw], r16) => 0x66 + 0x29 /r [_64b | compat]
  • subw: RM(r16[rw], rm16) => 0x66 + 0x2b /r [_64b | compat]
  • xorb: I(al[rw], imm8) => 0x34 ib [_64b | compat]
  • xorb: MI(rm8[rw], imm8) => 0x80 /6 ib [_64b | compat]
  • xorb: MR(rm8[rw], r8) => 0x30 /r [_64b | compat]
  • xorb: RM(r8[rw], rm8) => 0x32 /r [_64b | compat]
  • xorl: I(eax[rw], imm32) => 0x35 id [_64b | compat]
  • xorl: MI(rm32[rw], imm32) => 0x81 /6 id [_64b | compat]
  • xorl: MI_SXB(rm32[rw], imm8[sxl]) => 0x83 /6 ib [_64b | compat]
  • xorl: MR(rm32[rw], r32) => 0x31 /r [_64b | compat]
  • xorl: RM(r32[rw], rm32) => 0x33 /r [_64b | compat]
  • xorq: I_SXL(rax[rw], imm32[sxq]) => REX.W + 0x35 id [_64b]
  • xorq: MI_SXB(rm64[rw], imm8[sxq]) => REX.W + 0x83 /6 ib [_64b]
  • xorq: MI_SXL(rm64[rw], imm32[sxq]) => REX.W + 0x81 /6 id [_64b]
  • xorq: MR(rm64[rw], r64) => REX.W + 0x31 /r [_64b]
  • xorq: RM(r64[rw], rm64) => REX.W + 0x33 /r [_64b]
  • xorw: I(ax[rw], imm16) => 0x66 + 0x35 iw [_64b | compat]
  • xorw: MI(rm16[rw], imm16) => 0x66 + 0x81 /6 iw [_64b | compat]
  • xorw: MR(rm16[rw], r16) => 0x66 + 0x31 /r [_64b | compat]
  • xorw: RM(r16[rw], rm16) => 0x66 + 0x33 /r [_64b | compat]