#[non_exhaustive]
pub enum X86Opcode {
Show 382 variants
AddMR8,
AddMR,
AddRM8,
AddRM,
AddAImm8,
AddAImm,
OrMR8,
OrMR,
OrRM8,
OrRM,
OrAImm8,
OrAImm,
AdcMR8,
AdcMR,
AdcRM8,
AdcRM,
AdcAImm8,
AdcAImm,
SbbMR8,
SbbMR,
SbbRM8,
SbbRM,
SbbAImm8,
SbbaImm,
AndMR8,
AndMR,
AndRM8,
AndRM,
AndAImm8,
AndAImm,
SubMR8,
SubMR,
SubRM8,
SubRM,
SubAImm8,
SubAImm,
XorMR8,
XorMR,
XorRM8,
XorRM,
XorAImm8,
XorAImm,
CmpMR8,
CmpMR,
CmpRM8,
CmpRM,
CmpAImm8,
CmpAImm,
Rex,
RexB,
RexX,
RexXB,
RexR,
RexRB,
RexRX,
RexRXB,
RexW,
RexWB,
RexWX,
RexWXB,
RexWR,
RexWRB,
RexWRX,
RexWRXB,
Push,
Pop,
Movsxd,
FsSeg,
GsSeg,
OpSize,
AddrSize,
PushImm,
IMul,
PushImm8,
IMul8,
Insb,
Ins,
Outsb,
Outs,
Jo,
Jno,
Jb,
Jae,
Jz,
Jnz,
Jbe,
Ja,
Js,
Jns,
Jp,
Jnp,
Jl,
Jge,
Jle,
Jg,
AddImm8,
OrImm8,
AdcImm8,
SbbImm8,
AndImm8,
SubImm8,
XorImm8,
CmpImm8,
AddImm,
OrImm,
AdcImm,
SbbImm,
AndImm,
SubImm,
XorImm,
CmpImm,
AddGImm8,
OrGImm8,
AdcGImm8,
SbbGImm8,
AndGImm8,
SubGImm8,
XorGImm8,
CmpGImm8,
Test8,
Test,
Xchg8,
Xchg,
MovMR8,
MovMR,
MovRM8,
MovRM,
MovRMS,
Lea,
MovSRM,
PopMR,
Nop90,
XchgReg,
Cbw,
Cwde,
Cdqe,
Cwd,
Cdq,
Cdo,
Fwait,
Pushf,
Popf,
Sahf,
Lahf,
MovAlM,
MovAregM,
MovMAl,
MovMAreg,
Movsb,
Movs,
Cmpsb,
Cmps,
TestAreg8,
TestAreg,
Stosb,
Stos,
Lodsb,
Lods,
Scasb,
Scas,
MovImm8,
MovImm,
RolImm8,
RorImm8,
RclImm8,
RcrImm8,
ShlImm8,
ShrImm8,
Shl2Imm8,
SarImm8,
RolImm,
RorImm,
RclImm,
RcrImm,
ShlImm,
ShrImm,
Shl2Imm,
SarImm,
RetnPop,
Retn,
MovImmM8,
MovImmM,
Enter,
Leave,
RetfPop,
Retf,
Int3,
Int,
IntO,
IRet,
Rol8,
Ror8,
Rcl8,
Rcr8,
Shl8,
Shr8,
Shl2_8,
Sar8,
Rol,
Ror,
Rcl,
Rcr,
Shl,
Shr,
Shl2,
Sar,
RolCL8,
RorCL8,
RclCL8,
RcrCL8,
ShlCL8,
ShrCL8,
Shl2CL8,
SarCL8,
RolCL,
RorCL,
RclCL,
RcrCL,
ShlCL,
ShrCL,
Shl2CL,
SarCL,
Xlat,
Fadd,
Fmul,
Fcom,
Fcomp,
Fsub,
Fsubr,
Fdiv,
Fdivr,
Fld,
Fxch,
Fst,
Fstp,
Fldenv,
Fchs,
Fabs,
Ftst,
Fxam,
Fldcw,
Fld1,
FldL2T,
FldL2E,
FldPi,
Fldlg2,
Fldln2,
Fldz,
Fnstenv,
Fstenv,
F2Xm1,
FYl2x,
Fptan,
Fpatan,
Fxtract,
Fprem1,
FDecStp,
FIncStp,
Fnstcw,
Fstcw,
Fprem,
FYl2Xp1,
Fsqrt,
Fsincos,
Frndint,
Fscale,
Fsin,
Fcos,
FCmovB,
FIadd,
FCmovE,
FImul,
FCmovBE,
FIcom,
FCmovU,
FIcomp,
FISub,
FUcompp,
FISubr,
FIdiv,
FIdivr,
FCmovNb,
FIld,
FCmovNe,
FISttp,
FCmovNbe,
FIst,
FCMovNu,
FIstp,
Fneni,
Fndisi,
Fnclex,
Fclex,
Fninit,
Finit,
Fnsetpm,
Fld80,
Fucmpi,
Fcmpi,
Fadd64,
Fmul64,
Fcom64,
Fcomp64,
Fsub64,
Fsubr64,
Fdiv64,
Fdivr64,
LoopNz,
LoopZ,
Loop,
Jcxz,
InImm8,
InImm,
OutImm8,
OutImm,
Call,
Jmp,
Jmpf,
Jmp8,
In8,
In,
Out8,
Out,
Int1,
Hlt,
Cmc,
TestImm8,
TestImm82,
Not8,
Neg8,
MulAl8,
IMulAl8,
DivAx8,
IDivAx8,
TestImm,
TestImm2,
Not,
Neg,
MulAreg,
IMulAreg,
Div,
IDiv,
Clc,
Stc,
Cli,
Sti,
Cld,
Std,
Inc8,
Dec8,
Inc,
Dec,
CallInd,
Callf,
JmpInd,
JmpfInd,
PushRM,
Ud2,
MovUpsRM,
MovSsRM,
MovUpdRM,
MovSdRM,
VMovUpsRM,
VMovSsRM,
VMovUpdRM,
VMovSdRM,
MovUpsMR,
MovSsMR,
MovUpdMR,
MovSdMR,
VMovUpsMR,
VMovSsMR,
VMovUpdMR,
VMovSdMR,
MovDRM,
MovQRM,
MovDMR,
MovQMR,
MFence,
TileLoadD,
TileLoadDT1,
TileStoreD,
}Variants (Non-exhaustive)
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
AddMR8
AddMR
AddRM8
AddRM
AddAImm8
AddAImm
OrMR8
OrMR
OrRM8
OrRM
OrAImm8
OrAImm
AdcMR8
AdcMR
AdcRM8
AdcRM
AdcAImm8
AdcAImm
SbbMR8
SbbMR
SbbRM8
SbbRM
SbbAImm8
SbbaImm
AndMR8
AndMR
AndRM8
AndRM
AndAImm8
AndAImm
SubMR8
SubMR
SubRM8
SubRM
SubAImm8
SubAImm
XorMR8
XorMR
XorRM8
XorRM
XorAImm8
XorAImm
CmpMR8
CmpMR
CmpRM8
CmpRM
CmpAImm8
CmpAImm
Rex
RexB
RexX
RexXB
RexR
RexRB
RexRX
RexRXB
RexW
RexWB
RexWX
RexWXB
RexWR
RexWRB
RexWRX
RexWRXB
Push
Pop
Movsxd
FsSeg
GsSeg
OpSize
AddrSize
PushImm
IMul
PushImm8
IMul8
Insb
Ins
Outsb
Outs
Jo
Jno
Jb
Jae
Jz
Jnz
Jbe
Ja
Js
Jns
Jp
Jnp
Jl
Jge
Jle
Jg
AddImm8
OrImm8
AdcImm8
SbbImm8
AndImm8
SubImm8
XorImm8
CmpImm8
AddImm
OrImm
AdcImm
SbbImm
AndImm
SubImm
XorImm
CmpImm
AddGImm8
OrGImm8
AdcGImm8
SbbGImm8
AndGImm8
SubGImm8
XorGImm8
CmpGImm8
Test8
Test
Xchg8
Xchg
MovMR8
MovMR
MovRM8
MovRM
MovRMS
Lea
MovSRM
PopMR
Nop90
XchgReg
Cbw
Cwde
Cdqe
Cwd
Cdq
Cdo
Fwait
Pushf
Popf
Sahf
Lahf
MovAlM
MovAregM
MovMAl
MovMAreg
Movsb
Movs
Cmpsb
Cmps
TestAreg8
TestAreg
Stosb
Stos
Lodsb
Lods
Scasb
Scas
MovImm8
MovImm
RolImm8
RorImm8
RclImm8
RcrImm8
ShlImm8
ShrImm8
Shl2Imm8
SarImm8
RolImm
RorImm
RclImm
RcrImm
ShlImm
ShrImm
Shl2Imm
SarImm
RetnPop
Retn
MovImmM8
MovImmM
Enter
Leave
RetfPop
Retf
Int3
Int
IntO
IRet
Rol8
Ror8
Rcl8
Rcr8
Shl8
Shr8
Shl2_8
Sar8
Rol
Ror
Rcl
Rcr
Shl
Shr
Shl2
Sar
RolCL8
RorCL8
RclCL8
RcrCL8
ShlCL8
ShrCL8
Shl2CL8
SarCL8
RolCL
RorCL
RclCL
RcrCL
ShlCL
ShrCL
Shl2CL
SarCL
Xlat
Fadd
Fmul
Fcom
Fcomp
Fsub
Fsubr
Fdiv
Fdivr
Fld
Fxch
Fst
Fstp
Fldenv
Fchs
Fabs
Ftst
Fxam
Fldcw
Fld1
FldL2T
FldL2E
FldPi
Fldlg2
Fldln2
Fldz
Fnstenv
Fstenv
F2Xm1
FYl2x
Fptan
Fpatan
Fxtract
Fprem1
FDecStp
FIncStp
Fnstcw
Fstcw
Fprem
FYl2Xp1
Fsqrt
Fsincos
Frndint
Fscale
Fsin
Fcos
FCmovB
FIadd
FCmovE
FImul
FCmovBE
FIcom
FCmovU
FIcomp
FISub
FUcompp
FISubr
FIdiv
FIdivr
FCmovNb
FIld
FCmovNe
FISttp
FCmovNbe
FIst
FCMovNu
FIstp
Fneni
Fndisi
Fnclex
Fclex
Fninit
Finit
Fnsetpm
Fld80
Fucmpi
Fcmpi
Fadd64
Fmul64
Fcom64
Fcomp64
Fsub64
Fsubr64
Fdiv64
Fdivr64
LoopNz
LoopZ
Loop
Jcxz
InImm8
InImm
OutImm8
OutImm
Call
Jmp
Jmpf
Jmp8
In8
In
Out8
Out
Int1
Hlt
Cmc
TestImm8
TestImm82
Not8
Neg8
MulAl8
IMulAl8
DivAx8
IDivAx8
TestImm
TestImm2
Not
Neg
MulAreg
IMulAreg
Div
IDiv
Clc
Stc
Cli
Sti
Cld
Std
Inc8
Dec8
Inc
Dec
CallInd
Callf
JmpInd
JmpfInd
PushRM
Ud2
MovUpsRM
MovSsRM
MovUpdRM
MovSdRM
VMovUpsRM
VMovSsRM
VMovUpdRM
VMovSdRM
MovUpsMR
MovSsMR
MovUpdMR
MovSdMR
VMovUpsMR
VMovSsMR
VMovUpdMR
VMovSdMR
MovDRM
MovQRM
MovDMR
MovQMR
MFence
TileLoadD
TileLoadDT1
TileStoreD
Implementations
sourceimpl X86Opcode
impl X86Opcode
pub fn opcode(&self) -> u64
pub fn operands(&self) -> &'static [X86OperandType]
Trait Implementations
impl Copy for X86Opcode
impl Eq for X86Opcode
impl StructuralEq for X86Opcode
impl StructuralPartialEq for X86Opcode
Auto Trait Implementations
impl RefUnwindSafe for X86Opcode
impl Send for X86Opcode
impl Sync for X86Opcode
impl Unpin for X86Opcode
impl UnwindSafe for X86Opcode
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
🔬 This is a nightly-only experimental API. (
toowned_clone_into)Uses borrowed data to replace owned data, usually by cloning. Read more