pub enum Opcode {
ADD,
OR,
ADC,
SBB,
AND,
XOR,
SUB,
CMP,
Invalid,
XADD,
BT,
BTS,
BTC,
BTR,
BSF,
BSR,
TZCNT,
MOVSS,
ADDSS,
SUBSS,
MULSS,
DIVSS,
MINSS,
MAXSS,
SQRTSS,
MOVSD,
SQRTSD,
ADDSD,
SUBSD,
MULSD,
DIVSD,
MINSD,
MAXSD,
MOVSLDUP,
MOVSHDUP,
MOVDDUP,
HADDPS,
HSUBPS,
ADDSUBPS,
CVTSI2SS,
CVTSI2SD,
CVTTSD2SI,
CVTTPS2DQ,
CVTPD2DQ,
CVTSD2SI,
CVTSD2SS,
CVTTSS2SI,
CVTSS2SI,
CVTSS2SD,
CVTDQ2PD,
LDDQU,
MOVSX_b,
MOVSX_w,
MOVZX_b,
MOVZX_w,
MOVSX,
MOVSXD,
SAR,
SAL,
SHR,
SHRD,
SHL,
RCR,
RCL,
ROR,
ROL,
INC,
DEC,
HLT,
CALL,
CALLF,
JMP,
JMPF,
PUSH,
POP,
LEA,
NOP,
PREFETCHNTA,
PREFETCH0,
PREFETCH1,
PREFETCH2,
XCHG,
POPF,
INT,
INTO,
IRET,
RETF,
ENTER,
LEAVE,
MOV,
RETURN,
PUSHF,
WAIT,
CBW,
CWDE,
CDQE,
CBD,
CDQ,
CQO,
LODS,
STOS,
LAHF,
SAHF,
CMPS,
SCAS,
MOVS,
TEST,
INS,
OUTS,
IMUL,
JO,
JNO,
JB,
JNB,
JZ,
JNZ,
JA,
JNA,
JS,
JNS,
JP,
JNP,
JL,
JGE,
JLE,
JG,
CMOVA,
CMOVB,
CMOVG,
CMOVGE,
CMOVL,
CMOVLE,
CMOVNA,
CMOVNB,
CMOVNO,
CMOVNP,
CMOVNS,
CMOVNZ,
CMOVO,
CMOVP,
CMOVS,
CMOVZ,
DIV,
IDIV,
MUL,
NEG,
NOT,
CMPXCHG,
SETO,
SETNO,
SETB,
SETAE,
SETZ,
SETNZ,
SETBE,
SETA,
SETS,
SETNS,
SETP,
SETNP,
SETL,
SETGE,
SETLE,
SETG,
CPUID,
UD2,
WBINVD,
INVD,
SYSRET,
CLTS,
SYSCALL,
LSL,
LAR,
SGDT,
SIDT,
LGDT,
LIDT,
SMSW,
LMSW,
SWAPGS,
RDTSCP,
INVLPG,
FXSAVE,
FXRSTOR,
LDMXCSR,
STMXCSR,
XSAVE,
XRSTOR,
XSAVEOPT,
LFENCE,
MFENCE,
SFENCE,
CLFLUSH,
WRMSR,
RDTSC,
RDMSR,
RDPMC,
SLDT,
STR,
LLDT,
LTR,
VERR,
VERW,
CLC,
STC,
CLI,
STI,
CLD,
STD,
JMPE,
POPCNT,
MOVDQU,
MOVDQA,
MOVQ,
CMPSS,
CMPSD,
UNPCKLPS,
UNPCKHPS,
PSHUFHW,
PSHUFLW,
MOVUPS,
MOVQ2DQ,
MOVDQ2Q,
RSQRTSS,
RCPSS,
ANDN,
BEXTR,
BLSI,
BLSMSK,
BLSR,
VMCALL,
VMLAUNCH,
VMRESUME,
VMXOFF,
MONITOR,
MWAIT,
CLAC,
STAC,
ENCLS,
ENCLV,
XGETBV,
XSETBV,
VMFUNC,
XEND,
XTEST,
ENCLU,
RDPKRU,
WRPKRU,
ADDPS,
ANDNPS,
ANDPS,
BSWAP,
CMPPS,
COMISS,
CVTDQ2PS,
CVTPI2PS,
CVTPI2PD,
CVTPS2PD,
CVTPS2PI,
CVTTPS2PI,
DIVPS,
EMMS,
GETSEC,
LFS,
LGS,
LSS,
MASKMOVQ,
MAXPS,
MINPS,
MOVAPS,
MOVAPD,
MOVD,
MOVLPS,
MOVHPS,
MOVLHPS,
MOVHLPS,
MOVUPD,
MOVMSKPS,
MOVNTI,
MOVNTPS,
MOVNTQ,
MULPS,
ORPS,
PACKSSDW,
PACKSSWB,
PACKUSWB,
PADDB,
PADDD,
PADDQ,
PADDSB,
PADDSW,
PADDUSB,
PADDUSW,
PADDW,
PAND,
PANDN,
PAVGB,
PAVGW,
PCMPEQB,
PCMPEQD,
PCMPEQW,
PCMPGTB,
PCMPGTD,
PCMPGTW,
PEXTRW,
PINSRW,
PMADDWD,
PMAXSW,
PMAXUB,
PMINSW,
PMINUB,
PMOVMSKB,
PMULHUW,
PMULHW,
PMULLW,
PMULUDQ,
POR,
PSADBW,
PSHUFW,
PSHUFD,
PSLLD,
PSLLDQ,
PSLLQ,
PSLLW,
PSRAD,
PSRAW,
PSRLD,
PSRLDQ,
PSRLQ,
PSRLW,
PSUBB,
PSUBD,
PSUBQ,
PSUBSB,
PSUBSW,
PSUBUSB,
PSUBUSW,
PSUBW,
PUNPCKHBW,
PUNPCKHDQ,
PUNPCKHWD,
PUNPCKLBW,
PUNPCKLDQ,
PUNPCKLWD,
PUNPCKLQDQ,
PUNPCKHQDQ,
PXOR,
RCPPS,
RSM,
RSQRTPS,
SHLD,
SHUFPS,
SLHD,
SQRTPS,
SUBPS,
SYSENTER,
SYSEXIT,
UCOMISS,
UD2E,
VMREAD,
VMWRITE,
XORPS,
VMOVDDUP,
VPSHUFLW,
VHADDPS,
VHSUBPS,
VADDSUBPS,
VCVTPD2DQ,
VLDDQU,
VCOMISD,
VCOMISS,
VUCOMISD,
VUCOMISS,
VADDPD,
VADDPS,
VADDSD,
VADDSS,
VADDSUBPD,
VAESDEC,
VAESDECLAST,
VAESENC,
VAESENCLAST,
VAESIMC,
VAESKEYGENASSIST,
VBLENDPD,
VBLENDPS,
VBLENDVPD,
VBLENDVPS,
VBROADCASTF128,
VBROADCASTI128,
VBROADCASTSD,
VBROADCASTSS,
VCMPSD,
VCMPSS,
VCMPPD,
VCMPPS,
VCVTDQ2PD,
VCVTDQ2PS,
VCVTPD2PS,
VCVTPH2PS,
VCVTPS2DQ,
VCVTPS2PD,
VCVTSS2SD,
VCVTSI2SS,
VCVTSI2SD,
VCVTSD2SI,
VCVTSD2SS,
VCVTPS2PH,
VCVTSS2SI,
VCVTTPD2DQ,
VCVTTPS2DQ,
VCVTTSS2SI,
VCVTTSD2SI,
VDIVPD,
VDIVPS,
VDIVSD,
VDIVSS,
VDPPD,
VDPPS,
VEXTRACTF128,
VEXTRACTI128,
VEXTRACTPS,
VFMADD132PD,
VFMADD132PS,
VFMADD132SD,
VFMADD132SS,
VFMADD213PD,
VFMADD213PS,
VFMADD213SD,
VFMADD213SS,
VFMADD231PD,
VFMADD231PS,
VFMADD231SD,
VFMADD231SS,
VFMADDSUB132PD,
VFMADDSUB132PS,
VFMADDSUB213PD,
VFMADDSUB213PS,
VFMADDSUB231PD,
VFMADDSUB231PS,
VFMSUB132PD,
VFMSUB132PS,
VFMSUB132SD,
VFMSUB132SS,
VFMSUB213PD,
VFMSUB213PS,
VFMSUB213SD,
VFMSUB213SS,
VFMSUB231PD,
VFMSUB231PS,
VFMSUB231SD,
VFMSUB231SS,
VFMSUBADD132PD,
VFMSUBADD132PS,
VFMSUBADD213PD,
VFMSUBADD213PS,
VFMSUBADD231PD,
VFMSUBADD231PS,
VFNMADD132PD,
VFNMADD132PS,
VFNMADD132SD,
VFNMADD132SS,
VFNMADD213PD,
VFNMADD213PS,
VFNMADD213SD,
VFNMADD213SS,
VFNMADD231PD,
VFNMADD231PS,
VFNMADD231SD,
VFNMADD231SS,
VFNMSUB132PD,
VFNMSUB132PS,
VFNMSUB132SD,
VFNMSUB132SS,
VFNMSUB213PD,
VFNMSUB213PS,
VFNMSUB213SD,
VFNMSUB213SS,
VFNMSUB231PD,
VFNMSUB231PS,
VFNMSUB231SD,
VFNMSUB231SS,
VGATHERDPD,
VGATHERDPS,
VGATHERQPD,
VGATHERQPS,
VHADDPD,
VHSUBPD,
VINSERTF128,
VINSERTI128,
VINSERTPS,
VMASKMOVDQU,
VMASKMOVPD,
VMASKMOVPS,
VMAXPD,
VMAXPS,
VMAXSD,
VMAXSS,
VMINPD,
VMINPS,
VMINSD,
VMINSS,
VMOVAPD,
VMOVAPS,
VMOVD,
VMOVDQA,
VMOVDQU,
VMOVHLPS,
VMOVHPD,
VMOVHPS,
VMOVLHPS,
VMOVLPD,
VMOVLPS,
VMOVMSKPD,
VMOVMSKPS,
VMOVNTDQ,
VMOVNTDQA,
VMOVNTPD,
VMOVNTPS,
VMOVQ,
VMOVSS,
VMOVSD,
VMOVSHDUP,
VMOVSLDUP,
VMOVUPD,
VMOVUPS,
VMPSADBW,
VMULPD,
VMULPS,
VMULSD,
VMULSS,
VPABSB,
VPABSD,
VPABSW,
VPACKSSDW,
VPACKSSWB,
VPACKUSWB,
VPADDB,
VPADDD,
VPADDQ,
VPADDSB,
VPADDSW,
VPADDUSB,
VPADDUSW,
VPADDW,
VPALIGNR,
VPAND,
VPANDN,
VPAVGB,
VPAVGW,
VPBLENDD,
VPBLENDVB,
VPBLENDW,
VPBROADCASTB,
VPBROADCASTD,
VPBROADCASTQ,
VPBROADCASTW,
VPCLMULQDQ,
VPCMPEQB,
VPCMPEQD,
VPCMPEQQ,
VPCMPEQW,
VPCMPGTB,
VPCMPGTD,
VPCMPGTQ,
VPCMPGTW,
VPCMPISTRI,
VPCMPISTRM,
VPERM2F128,
VPERM2I128,
VPERMD,
VPERMILPD,
VPERMILPS,
VPERMPD,
VPERMPS,
VPERMQ,
VPEXTRB,
VPEXTRD,
VPEXTRQ,
VPEXTRW,
VPGATHERDD,
VPGATHERDQ,
VPGATHERQD,
VPGATHERQQ,
VPHADDD,
VPHADDSW,
VPHADDW,
VPHADDUBSW,
VPHMINPOSUW,
VPHSUBD,
VPHSUBSW,
VPHSUBW,
VPINSRB,
VPINSRD,
VPINSRQ,
VPINSRW,
VPMADDWD,
VPMASKMOVD,
VPMASKMOVQ,
VPMAXSB,
VPMAXSD,
VPMAXSW,
VPMAXUD,
VPMINSD,
VPMINUD,
VPMOVMSKB,
VPMOVSXBD,
VPMOVSXBQ,
VPMOVSXBW,
VPMOVSXDQ,
VPMOVSXWD,
VPMOVSXWQ,
VPMOVZXBD,
VPMOVZXBQ,
VPMOVZXBW,
VPMOVZXDQ,
VPMOVZXWD,
VPMOVZXWQ,
VPMULDQ,
VPMULHRSW,
VPMULHUW,
VPMULHW,
VPMULLD,
VPMULLW,
VPMULUDQ,
VPOR,
VPSADBW,
VPSHUFB,
VPSHUFD,
VPSIGNB,
VPSIGND,
VPSIGNW,
VPSLLD,
VPSLLDQ,
VPSLLQ,
VPSLLVD,
VPSLLVQ,
VPSLLW,
VPSRAD,
VPSRAVD,
VPSRAW,
VPSRLD,
VPSRLDQ,
VPSRLQ,
VPSRLVD,
VPSRLVQ,
VPSRLW,
VPSUBB,
VPSUBD,
VPSUBQ,
VPSUBSB,
VPSUBSW,
VPSUBUSB,
VPSUBUSW,
VPSUBW,
VPTEST,
VPUNPCKHBW,
VPUNPCKHDQ,
VPUNPCKHQDQ,
VPUNPCKHWD,
VPUNPCKLBW,
VPUNPCKLDQ,
VPUNPCKLQDQ,
VPUNPCKLWD,
VPXOR,
VRCPPS,
VROUNDPD,
VROUNDPS,
VROUNDSD,
VROUNDSS,
VRSQRTPS,
VRSQRTSS,
VRCPSS,
VSHUFPD,
VSHUFPS,
VSQRTPD,
VSQRTPS,
VSQRTSS,
VSQRTSD,
VSUBPD,
VSUBPS,
VSUBSD,
VSUBSS,
VTESTPD,
VTESTPS,
VUNPCKHPD,
VUNPCKHPS,
VUNPCKLPD,
VUNPCKLPS,
VXORPD,
VXORPS,
VZEROUPPER,
PCLMULQDQ,
AESKEYGENASSIST,
AESIMC,
AESENC,
AESENCLAST,
AESDEC,
AESDECLAST,
PCMPGTQ,
PCMPISTRM,
PCMPISTRI,
PCMPESTRI,
PACKUSDW,
PCMPESTRM,
PCMPEQQ,
PTEST,
PHMINPOSUW,
MPSADBW,
PMOVZXDQ,
PMOVSXDQ,
PMOVZXBD,
PMOVSXBD,
PMOVZXWQ,
PMOVSXWQ,
PMOVZXBQ,
PMOVSXBQ,
PMOVSXWD,
PMOVZXWD,
PEXTRQ,
PEXTRB,
PMOVSXBW,
PMOVZXBW,
PINSRQ,
PINSRD,
PINSRB,
EXTRACTPS,
INSERTPS,
ROUNDSS,
ROUNDSD,
ROUNDPS,
ROUNDPD,
PMAXSB,
PMAXUW,
PMAXUD,
PMINSD,
PMINSB,
PMINUD,
PMINUW,
BLENDW,
BLENDDVB,
BLENDVPS,
BLENDVPD,
BLENDPS,
BLENDPD,
PMULDQ,
MOVNTDQA,
PMULLD,
PALIGNR,
PSIGNW,
PSIGND,
PSIGNB,
PSHUFB,
PMULHRSU,
PMADDUBSW,
PABSD,
PABSW,
PABSB,
PHSUBSW,
PHSUBW,
PHSUBD,
PHADDD,
PHADDSW,
PHADDW,
HSUBPD,
HADDPD,
ADDSUBPD,
}