#ifndef __CS_X86_H__ #define __CS_X86_H__ /* Capstone Disassembler Engine */ /* By Nguyen Anh Quynh , 2013> */ #ifdef __cplusplus extern "C" { #endif #include // Calculate relative address for X86-64, given cs_insn structure #define X86_REL_ADDR(insn) (insn.addr + insn.size + insn.x86.disp) typedef enum x86_reg { X86_REG_INVALID = 0, X86_REG_AH, X86_REG_AL, X86_REG_AX, X86_REG_BH, X86_REG_BL, X86_REG_BP, X86_REG_BPL, X86_REG_BX, X86_REG_CH, X86_REG_CL, X86_REG_CS, X86_REG_CX, X86_REG_DH, X86_REG_DI, X86_REG_DIL, X86_REG_DL, X86_REG_DS, X86_REG_DX, X86_REG_EAX, X86_REG_EBP, X86_REG_EBX, X86_REG_ECX, X86_REG_EDI, X86_REG_EDX, X86_REG_EFLAGS, X86_REG_EIP, X86_REG_EIZ, X86_REG_ES, X86_REG_ESI, X86_REG_ESP, X86_REG_FPSW, X86_REG_FS, X86_REG_GS, X86_REG_IP, X86_REG_RAX, X86_REG_RBP, X86_REG_RBX, X86_REG_RCX, X86_REG_RDI, X86_REG_RDX, X86_REG_RIP, X86_REG_RIZ, X86_REG_RSI, X86_REG_RSP, X86_REG_SI, X86_REG_SIL, X86_REG_SP, X86_REG_SPL, X86_REG_SS, X86_REG_CR0, X86_REG_CR1, X86_REG_CR2, X86_REG_CR3, X86_REG_CR4, X86_REG_CR5, X86_REG_CR6, X86_REG_CR7, X86_REG_CR8, X86_REG_CR9, X86_REG_CR10, X86_REG_CR11, X86_REG_CR12, X86_REG_CR13, X86_REG_CR14, X86_REG_CR15, X86_REG_DR0, X86_REG_DR1, X86_REG_DR2, X86_REG_DR3, X86_REG_DR4, X86_REG_DR5, X86_REG_DR6, X86_REG_DR7, X86_REG_FP0, X86_REG_FP1, X86_REG_FP2, X86_REG_FP3, X86_REG_FP4, X86_REG_FP5, X86_REG_FP6, X86_REG_K0, X86_REG_K1, X86_REG_K2, X86_REG_K3, X86_REG_K4, X86_REG_K5, X86_REG_K6, X86_REG_K7, X86_REG_MM0, X86_REG_MM1, X86_REG_MM2, X86_REG_MM3, X86_REG_MM4, X86_REG_MM5, X86_REG_MM6, X86_REG_MM7, X86_REG_R8, X86_REG_R9, X86_REG_R10, X86_REG_R11, X86_REG_R12, X86_REG_R13, X86_REG_R14, X86_REG_R15, X86_REG_ST0, X86_REG_ST1, X86_REG_ST2, X86_REG_ST3, X86_REG_ST4, X86_REG_ST5, X86_REG_ST6, X86_REG_ST7, X86_REG_XMM0, X86_REG_XMM1, X86_REG_XMM2, X86_REG_XMM3, X86_REG_XMM4, X86_REG_XMM5, X86_REG_XMM6, X86_REG_XMM7, X86_REG_XMM8, X86_REG_XMM9, X86_REG_XMM10, X86_REG_XMM11, X86_REG_XMM12, X86_REG_XMM13, X86_REG_XMM14, X86_REG_XMM15, X86_REG_XMM16, X86_REG_XMM17, X86_REG_XMM18, X86_REG_XMM19, X86_REG_XMM20, X86_REG_XMM21, X86_REG_XMM22, X86_REG_XMM23, X86_REG_XMM24, X86_REG_XMM25, X86_REG_XMM26, X86_REG_XMM27, X86_REG_XMM28, X86_REG_XMM29, X86_REG_XMM30, X86_REG_XMM31, X86_REG_YMM0, X86_REG_YMM1, X86_REG_YMM2, X86_REG_YMM3, X86_REG_YMM4, X86_REG_YMM5, X86_REG_YMM6, X86_REG_YMM7, X86_REG_YMM8, X86_REG_YMM9, X86_REG_YMM10, X86_REG_YMM11, X86_REG_YMM12, X86_REG_YMM13, X86_REG_YMM14, X86_REG_YMM15, X86_REG_YMM16, X86_REG_YMM17, X86_REG_YMM18, X86_REG_YMM19, X86_REG_YMM20, X86_REG_YMM21, X86_REG_YMM22, X86_REG_YMM23, X86_REG_YMM24, X86_REG_YMM25, X86_REG_YMM26, X86_REG_YMM27, X86_REG_YMM28, X86_REG_YMM29, X86_REG_YMM30, X86_REG_YMM31, X86_REG_ZMM0, X86_REG_ZMM1, X86_REG_ZMM2, X86_REG_ZMM3, X86_REG_ZMM4, X86_REG_ZMM5, X86_REG_ZMM6, X86_REG_ZMM7, X86_REG_ZMM8, X86_REG_ZMM9, X86_REG_ZMM10, X86_REG_ZMM11, X86_REG_ZMM12, X86_REG_ZMM13, X86_REG_ZMM14, X86_REG_ZMM15, X86_REG_ZMM16, X86_REG_ZMM17, X86_REG_ZMM18, X86_REG_ZMM19, X86_REG_ZMM20, X86_REG_ZMM21, X86_REG_ZMM22, X86_REG_ZMM23, X86_REG_ZMM24, X86_REG_ZMM25, X86_REG_ZMM26, X86_REG_ZMM27, X86_REG_ZMM28, X86_REG_ZMM29, X86_REG_ZMM30, X86_REG_ZMM31, X86_REG_R8B, X86_REG_R9B, X86_REG_R10B, X86_REG_R11B, X86_REG_R12B, X86_REG_R13B, X86_REG_R14B, X86_REG_R15B, X86_REG_R8D, X86_REG_R9D, X86_REG_R10D, X86_REG_R11D, X86_REG_R12D, X86_REG_R13D, X86_REG_R14D, X86_REG_R15D, X86_REG_R8W, X86_REG_R9W, X86_REG_R10W, X86_REG_R11W, X86_REG_R12W, X86_REG_R13W, X86_REG_R14W, X86_REG_R15W, X86_REG_MAX } x86_reg; // Operand type for instruction's operands typedef enum x86_op_type { X86_OP_INVALID = 0, // Uninitialized. X86_OP_REG, // Register operand. X86_OP_IMM, // Immediate operand. X86_OP_FP, // Floating-Point immediate operand. X86_OP_MEM, // Memory operand } x86_op_type; // Instruction's operand referring to memory // This is associated with X86_OP_MEM operand type above typedef struct x86_op_mem { unsigned int base; // base register unsigned int index; // index register int scale; // scale for index register (can be 1, or -1) int64_t disp; // displacement value } x86_op_mem; // Instruction operand typedef struct cs_x86_op { x86_op_type type; // operand type union { unsigned int reg; // register value for REG operand int64_t imm; // immediate value for C-IMM, P-IMM or IMM operand double fp; // floating point value for FP operand x86_op_mem mem; // base/index/scale/disp value for MEM operand }; } cs_x86_op; // Instruction structure typedef struct cs_x86 { // (Optional) instruction prefix, which can be up to 5 bytes. // A prefix byte gets value 0 when irrelevant. uint8_t prefix[5]; // (Optional) segment override, which can be among CS, DS, SS, ES, FS, GS. // This field get value 0 when irrelevant. x86_reg segment; // Instruction opcode, wich can be from 1 to 3 bytes in size. // This contains VEX opcode as well. // An opcode byte gets value 0 when irrelevant. uint8_t opcode[3]; // Operand size, which can be overrided with above prefix[5]. uint8_t op_size; // Address size, which can be overrided with above prefix[5]. uint8_t addr_size; // Size of (optional) displacement. // This field get value 0 when irrelevant. uint8_t disp_size; // Size of immediate operand uint8_t imm_size; // ModR/M byte uint8_t modrm; // SIB value, or 0 when irrelevant. uint8_t sib; // Displacement value, or 0 when irrelevant. int32_t disp; /* SIB state */ // SIB index register, or X86_REG_INVALID when irrelevant. x86_reg sib_index; // SIB scale. only applicable if sib_index is relavant. int8_t sib_scale; // SIB base register, or X86_REG_INVALID when irrelevant. x86_reg sib_base; // Number of operands of this instruction, // or 0 when instruction has no operand. uint8_t op_count; cs_x86_op operands[8]; // operands for this instruction. } cs_x86; typedef enum x86_insn { X86_INS_INVALID = 0, X86_INS_AAA = 1, X86_INS_AAD = 2, X86_INS_AAM = 3, X86_INS_AAS = 4, X86_INS_FABS = 5, X86_INS_ADC = 6, X86_INS_ADCX = 7, X86_INS_ADD = 8, X86_INS_ADDPD = 9, X86_INS_ADDPS = 10, X86_INS_ADDSD = 11, X86_INS_ADDSS = 12, X86_INS_ADDSUBPD = 13, X86_INS_ADDSUBPS = 14, X86_INS_FADD = 15, X86_INS_FIADD = 16, X86_INS_FADDP = 17, X86_INS_ADOX = 18, X86_INS_AESDECLAST = 19, X86_INS_AESDEC = 20, X86_INS_AESENCLAST = 21, X86_INS_AESENC = 22, X86_INS_AESIMC = 23, X86_INS_AESKEYGENASSIST = 24, X86_INS_AND = 25, X86_INS_ANDN = 26, X86_INS_ANDNPD = 27, X86_INS_ANDNPS = 28, X86_INS_ANDPD = 29, X86_INS_ANDPS = 30, X86_INS_ARPL = 31, X86_INS_BEXTR = 32, X86_INS_BLCFILL = 33, X86_INS_BLCI = 34, X86_INS_BLCIC = 35, X86_INS_BLCMSK = 36, X86_INS_BLCS = 37, X86_INS_BLENDPD = 38, X86_INS_BLENDPS = 39, X86_INS_BLENDVPD = 40, X86_INS_BLENDVPS = 41, X86_INS_BLSFILL = 42, X86_INS_BLSI = 43, X86_INS_BLSIC = 44, X86_INS_BLSMSK = 45, X86_INS_BLSR = 46, X86_INS_BOUND = 47, X86_INS_BSF = 48, X86_INS_BSR = 49, X86_INS_BSWAP = 50, X86_INS_BT = 51, X86_INS_BTC = 52, X86_INS_BTR = 53, X86_INS_BTS = 54, X86_INS_BZHI = 55, X86_INS_CALL = 56, X86_INS_CALLW = 57, X86_INS_CBW = 58, X86_INS_CDQ = 59, X86_INS_CDQE = 60, X86_INS_FCHS = 61, X86_INS_CLAC = 62, X86_INS_CLC = 63, X86_INS_CLD = 64, X86_INS_CLFLUSH = 65, X86_INS_CLGI = 66, X86_INS_CLI = 67, X86_INS_CLTS = 68, X86_INS_CMC = 69, X86_INS_CMOVA = 70, X86_INS_CMOVAE = 71, X86_INS_CMOVB = 72, X86_INS_CMOVBE = 73, X86_INS_FCMOVBE = 74, X86_INS_FCMOVB = 75, X86_INS_CMOVE = 76, X86_INS_FCMOVE = 77, X86_INS_CMOVG = 78, X86_INS_CMOVGE = 79, X86_INS_CMOVL = 80, X86_INS_CMOVLE = 81, X86_INS_FCMOVNBE = 82, X86_INS_FCMOVNB = 83, X86_INS_CMOVNE = 84, X86_INS_FCMOVNE = 85, X86_INS_CMOVNO = 86, X86_INS_CMOVNP = 87, X86_INS_FCMOVNU = 88, X86_INS_CMOVNS = 89, X86_INS_CMOVO = 90, X86_INS_CMOVP = 91, X86_INS_FCMOVU = 92, X86_INS_CMOVS = 93, X86_INS_CMP = 94, X86_INS_CMPPD = 95, X86_INS_CMPPS = 96, X86_INS_CMPSW = 97, X86_INS_CMPSD = 98, X86_INS_CMPSQ = 99, X86_INS_CMPSB = 100, X86_INS_CMPSS = 101, X86_INS_CMPXCHG16B = 102, X86_INS_CMPXCHG = 103, X86_INS_CMPXCHG8B = 104, X86_INS_COMISD = 105, X86_INS_COMISS = 106, X86_INS_FCOMP = 107, X86_INS_FCOMPI = 108, X86_INS_FCOMI = 109, X86_INS_FCOM = 110, X86_INS_FCOS = 111, X86_INS_CPUID = 112, X86_INS_CQO = 113, X86_INS_CRC32 = 114, X86_INS_CS = 115, X86_INS_CVTDQ2PD = 116, X86_INS_CVTDQ2PS = 117, X86_INS_CVTPD2DQ = 118, X86_INS_CVTPD2PS = 119, X86_INS_CVTPS2DQ = 120, X86_INS_CVTPS2PD = 121, X86_INS_CVTSD2SI = 122, X86_INS_CVTSD2SS = 123, X86_INS_CVTSI2SD = 124, X86_INS_CVTSI2SS = 125, X86_INS_CVTSS2SD = 126, X86_INS_CVTSS2SI = 127, X86_INS_CVTTPD2DQ = 128, X86_INS_CVTTPS2DQ = 129, X86_INS_CVTTSD2SI = 130, X86_INS_CVTTSS2SI = 131, X86_INS_CWD = 132, X86_INS_CWDE = 133, X86_INS_DAA = 134, X86_INS_DAS = 135, X86_INS_DATA16 = 136, X86_INS_DEC = 137, X86_INS_DIV = 138, X86_INS_DIVPD = 139, X86_INS_DIVPS = 140, X86_INS_FDIVR = 141, X86_INS_FIDIVR = 142, X86_INS_FDIVRP = 143, X86_INS_DIVSD = 144, X86_INS_DIVSS = 145, X86_INS_FDIV = 146, X86_INS_FIDIV = 147, X86_INS_FDIVP = 148, X86_INS_DPPD = 149, X86_INS_DPPS = 150, X86_INS_DS = 151, X86_INS_ENTER = 152, X86_INS_ES = 153, X86_INS_EXTRACTPS = 154, X86_INS_EXTRQ = 155, X86_INS_F2XM1 = 156, X86_INS_LCALL = 157, X86_INS_LJMP = 158, X86_INS_FBLD = 159, X86_INS_FBSTP = 160, X86_INS_FCOMPP = 161, X86_INS_FDECSTP = 162, X86_INS_FEMMS = 163, X86_INS_FFREE = 164, X86_INS_FICOM = 165, X86_INS_FICOMP = 166, X86_INS_FINCSTP = 167, X86_INS_FLDCW = 168, X86_INS_FLDENV = 169, X86_INS_FLDL2E = 170, X86_INS_FLDL2T = 171, X86_INS_FLDLG2 = 172, X86_INS_FLDLN2 = 173, X86_INS_FLDPI = 174, X86_INS_FNCLEX = 175, X86_INS_FNINIT = 176, X86_INS_FNOP = 177, X86_INS_FNSTCW = 178, X86_INS_FNSTSW = 179, X86_INS_FPATAN = 180, X86_INS_FPREM = 181, X86_INS_FPREM1 = 182, X86_INS_FPTAN = 183, X86_INS_FRNDINT = 184, X86_INS_FRSTOR = 185, X86_INS_FNSAVE = 186, X86_INS_FSCALE = 187, X86_INS_FSINCOS = 188, X86_INS_FNSTENV = 189, X86_INS_FS = 190, X86_INS_FXAM = 191, X86_INS_FXRSTOR = 192, X86_INS_FXRSTORQ = 193, X86_INS_FXSAVE = 194, X86_INS_FXSAVEQ = 195, X86_INS_FXTRACT = 196, X86_INS_FYL2X = 197, X86_INS_FYL2XP1 = 198, X86_INS_MOVAPD = 199, X86_INS_MOVAPS = 200, X86_INS_ORPD = 201, X86_INS_ORPS = 202, X86_INS_VMOVAPD = 203, X86_INS_VMOVAPS = 204, X86_INS_XORPD = 205, X86_INS_XORPS = 206, X86_INS_GS = 207, X86_INS_HADDPD = 208, X86_INS_HADDPS = 209, X86_INS_HLT = 210, X86_INS_HSUBPD = 211, X86_INS_HSUBPS = 212, X86_INS_IDIV = 213, X86_INS_FILD = 214, X86_INS_IMUL = 215, X86_INS_INS = 216, X86_INS_IN = 217, X86_INS_INC = 218, X86_INS_INSERTPS = 219, X86_INS_INSERTQ = 220, X86_INS_INT = 221, X86_INS_INT3 = 222, X86_INS_INTO = 223, X86_INS_INVD = 224, X86_INS_INVEPT = 225, X86_INS_INVLPG = 226, X86_INS_INVLPGA = 227, X86_INS_INVPCID = 228, X86_INS_INVVPID = 229, X86_INS_IRET = 230, X86_INS_IRETD = 231, X86_INS_IRETQ = 232, X86_INS_FISTTP = 233, X86_INS_FIST = 234, X86_INS_FISTP = 235, X86_INS_UCOMISD = 236, X86_INS_UCOMISS = 237, X86_INS_VCMP = 238, X86_INS_VCOMISD = 239, X86_INS_VCOMISS = 240, X86_INS_VCVTSD2SS = 241, X86_INS_VCVTSI2SD = 242, X86_INS_VCVTSI2SS = 243, X86_INS_VCVTSS2SD = 244, X86_INS_VCVTTSD2SI = 245, X86_INS_VCVTTSD2USI = 246, X86_INS_VCVTTSS2SI = 247, X86_INS_VCVTTSS2USI = 248, X86_INS_VCVTUSI2SD = 249, X86_INS_VCVTUSI2SS = 250, X86_INS_VUCOMISD = 251, X86_INS_VUCOMISS = 252, X86_INS_JAE = 253, X86_INS_JA = 254, X86_INS_JBE = 255, X86_INS_JB = 256, X86_INS_JCXZ = 257, X86_INS_JECXZ = 258, X86_INS_JE = 259, X86_INS_JGE = 260, X86_INS_JG = 261, X86_INS_JLE = 262, X86_INS_JL = 263, X86_INS_JMP = 264, X86_INS_JMPQ = 265, X86_INS_JNE = 266, X86_INS_JNO = 267, X86_INS_JNP = 268, X86_INS_JNS = 269, X86_INS_JO = 270, X86_INS_JP = 271, X86_INS_JRCXZ = 272, X86_INS_JS = 273, X86_INS_KADDW = 274, X86_INS_KANDNW = 275, X86_INS_KANDW = 276, X86_INS_KMOVW = 277, X86_INS_KNOTW = 278, X86_INS_KORTESTW = 279, X86_INS_KORW = 280, X86_INS_KSHIFTLW = 281, X86_INS_KSHIFTRW = 282, X86_INS_KTESTW = 283, X86_INS_KUNPCKBW = 284, X86_INS_KXNORW = 285, X86_INS_KXORW = 286, X86_INS_LAHF = 287, X86_INS_LAR = 288, X86_INS_LDDQU = 289, X86_INS_LDMXCSR = 290, X86_INS_LDS = 291, X86_INS_FLDZ = 292, X86_INS_FLD1 = 293, X86_INS_FLD = 294, X86_INS_LEA = 295, X86_INS_LEAVE = 296, X86_INS_LES = 297, X86_INS_LFENCE = 298, X86_INS_LFS = 299, X86_INS_LGDT = 300, X86_INS_LGS = 301, X86_INS_LIDT = 302, X86_INS_LLDT = 303, X86_INS_LMSW = 304, X86_INS_OR = 305, X86_INS_LOCK = 306, X86_INS_SUB = 307, X86_INS_XOR = 308, X86_INS_LODSB = 309, X86_INS_LODSD = 310, X86_INS_LODSQ = 311, X86_INS_LODSW = 312, X86_INS_LOOP = 313, X86_INS_LOOPE = 314, X86_INS_LOOPNE = 315, X86_INS_RETF = 316, X86_INS_LSL = 317, X86_INS_LSS = 318, X86_INS_LTR = 319, X86_INS_XADD = 320, X86_INS_LZCNT = 321, X86_INS_MASKMOVDQU = 322, X86_INS_MAXPD = 323, X86_INS_MAXPS = 324, X86_INS_MAXSD = 325, X86_INS_MAXSS = 326, X86_INS_MFENCE = 327, X86_INS_MINPD = 328, X86_INS_MINPS = 329, X86_INS_MINSD = 330, X86_INS_MINSS = 331, X86_INS_CVTPD2PI = 332, X86_INS_CVTPI2PD = 333, X86_INS_CVTPI2PS = 334, X86_INS_CVTPS2PI = 335, X86_INS_CVTTPD2PI = 336, X86_INS_CVTTPS2PI = 337, X86_INS_EMMS = 338, X86_INS_MASKMOVQ = 339, X86_INS_MOVD = 340, X86_INS_MOVDQ2Q = 341, X86_INS_MOVNTQ = 342, X86_INS_MOVQ2DQ = 343, X86_INS_MOVQ = 344, X86_INS_PABSB = 345, X86_INS_PABSD = 346, X86_INS_PABSW = 347, X86_INS_PACKSSDW = 348, X86_INS_PACKSSWB = 349, X86_INS_PACKUSWB = 350, X86_INS_PADDB = 351, X86_INS_PADDD = 352, X86_INS_PADDQ = 353, X86_INS_PADDSB = 354, X86_INS_PADDSW = 355, X86_INS_PADDUSB = 356, X86_INS_PADDUSW = 357, X86_INS_PADDW = 358, X86_INS_PALIGNR = 359, X86_INS_PANDN = 360, X86_INS_PAND = 361, X86_INS_PAVGB = 362, X86_INS_PAVGW = 363, X86_INS_PCMPEQB = 364, X86_INS_PCMPEQD = 365, X86_INS_PCMPEQW = 366, X86_INS_PCMPGTB = 367, X86_INS_PCMPGTD = 368, X86_INS_PCMPGTW = 369, X86_INS_PEXTRW = 370, X86_INS_PHADDSW = 371, X86_INS_PHADDW = 372, X86_INS_PHADDD = 373, X86_INS_PHSUBD = 374, X86_INS_PHSUBSW = 375, X86_INS_PHSUBW = 376, X86_INS_PINSRW = 377, X86_INS_PMADDUBSW = 378, X86_INS_PMADDWD = 379, X86_INS_PMAXSW = 380, X86_INS_PMAXUB = 381, X86_INS_PMINSW = 382, X86_INS_PMINUB = 383, X86_INS_PMOVMSKB = 384, X86_INS_PMULHRSW = 385, X86_INS_PMULHUW = 386, X86_INS_PMULHW = 387, X86_INS_PMULLW = 388, X86_INS_PMULUDQ = 389, X86_INS_POR = 390, X86_INS_PSADBW = 391, X86_INS_PSHUFB = 392, X86_INS_PSHUFW = 393, X86_INS_PSIGNB = 394, X86_INS_PSIGND = 395, X86_INS_PSIGNW = 396, X86_INS_PSLLD = 397, X86_INS_PSLLQ = 398, X86_INS_PSLLW = 399, X86_INS_PSRAD = 400, X86_INS_PSRAW = 401, X86_INS_PSRLD = 402, X86_INS_PSRLQ = 403, X86_INS_PSRLW = 404, X86_INS_PSUBB = 405, X86_INS_PSUBD = 406, X86_INS_PSUBQ = 407, X86_INS_PSUBSB = 408, X86_INS_PSUBSW = 409, X86_INS_PSUBUSB = 410, X86_INS_PSUBUSW = 411, X86_INS_PSUBW = 412, X86_INS_PUNPCKHBW = 413, X86_INS_PUNPCKHDQ = 414, X86_INS_PUNPCKHWD = 415, X86_INS_PUNPCKLBW = 416, X86_INS_PUNPCKLDQ = 417, X86_INS_PUNPCKLWD = 418, X86_INS_PXOR = 419, X86_INS_MONITOR = 420, X86_INS_MONTMUL = 421, X86_INS_MOV = 422, X86_INS_MOVABS = 423, X86_INS_MOVBE = 424, X86_INS_MOVDDUP = 425, X86_INS_MOVDQA = 426, X86_INS_MOVDQU = 427, X86_INS_MOVHLPS = 428, X86_INS_MOVHPD = 429, X86_INS_MOVHPS = 430, X86_INS_MOVLHPS = 431, X86_INS_MOVLPD = 432, X86_INS_MOVLPS = 433, X86_INS_MOVMSKPD = 434, X86_INS_MOVMSKPS = 435, X86_INS_MOVNTDQA = 436, X86_INS_MOVNTDQ = 437, X86_INS_MOVNTI = 438, X86_INS_MOVNTPD = 439, X86_INS_MOVNTPS = 440, X86_INS_MOVNTSD = 441, X86_INS_MOVNTSS = 442, X86_INS_MOVSB = 443, X86_INS_MOVSD = 444, X86_INS_MOVSHDUP = 445, X86_INS_MOVSLDUP = 446, X86_INS_MOVSQ = 447, X86_INS_MOVSS = 448, X86_INS_MOVSW = 449, X86_INS_MOVSX = 450, X86_INS_MOVSXD = 451, X86_INS_MOVUPD = 452, X86_INS_MOVUPS = 453, X86_INS_MOVZX = 454, X86_INS_MPSADBW = 455, X86_INS_MUL = 456, X86_INS_MULPD = 457, X86_INS_MULPS = 458, X86_INS_MULSD = 459, X86_INS_MULSS = 460, X86_INS_MULX = 461, X86_INS_FMUL = 462, X86_INS_FIMUL = 463, X86_INS_FMULP = 464, X86_INS_MWAIT = 465, X86_INS_NEG = 466, X86_INS_NOP = 467, X86_INS_NOT = 468, X86_INS_OUT = 469, X86_INS_OUTSB = 470, X86_INS_OUTSD = 471, X86_INS_OUTSW = 472, X86_INS_PACKUSDW = 473, X86_INS_PAUSE = 474, X86_INS_PAVGUSB = 475, X86_INS_PBLENDVB = 476, X86_INS_PBLENDW = 477, X86_INS_PCLMULQDQ = 478, X86_INS_PCMPEQQ = 479, X86_INS_PCMPESTRI = 480, X86_INS_PCMPESTRM = 481, X86_INS_PCMPGTQ = 482, X86_INS_PCMPISTRI = 483, X86_INS_PCMPISTRM = 484, X86_INS_PDEP = 485, X86_INS_PEXT = 486, X86_INS_PEXTRB = 487, X86_INS_PEXTRD = 488, X86_INS_PEXTRQ = 489, X86_INS_PF2ID = 490, X86_INS_PF2IW = 491, X86_INS_PFACC = 492, X86_INS_PFADD = 493, X86_INS_PFCMPEQ = 494, X86_INS_PFCMPGE = 495, X86_INS_PFCMPGT = 496, X86_INS_PFMAX = 497, X86_INS_PFMIN = 498, X86_INS_PFMUL = 499, X86_INS_PFNACC = 500, X86_INS_PFPNACC = 501, X86_INS_PFRCPIT1 = 502, X86_INS_PFRCPIT2 = 503, X86_INS_PFRCP = 504, X86_INS_PFRSQIT1 = 505, X86_INS_PFRSQRT = 506, X86_INS_PFSUBR = 507, X86_INS_PFSUB = 508, X86_INS_PHMINPOSUW = 509, X86_INS_PI2FD = 510, X86_INS_PI2FW = 511, X86_INS_PINSRB = 512, X86_INS_PINSRD = 513, X86_INS_PINSRQ = 514, X86_INS_PMAXSB = 515, X86_INS_PMAXSD = 516, X86_INS_PMAXUD = 517, X86_INS_PMAXUW = 518, X86_INS_PMINSB = 519, X86_INS_PMINSD = 520, X86_INS_PMINUD = 521, X86_INS_PMINUW = 522, X86_INS_PMOVSXBD = 523, X86_INS_PMOVSXBQ = 524, X86_INS_PMOVSXBW = 525, X86_INS_PMOVSXDQ = 526, X86_INS_PMOVSXWD = 527, X86_INS_PMOVSXWQ = 528, X86_INS_PMOVZXBD = 529, X86_INS_PMOVZXBQ = 530, X86_INS_PMOVZXBW = 531, X86_INS_PMOVZXDQ = 532, X86_INS_PMOVZXWD = 533, X86_INS_PMOVZXWQ = 534, X86_INS_PMULDQ = 535, X86_INS_PMULHRW = 536, X86_INS_PMULLD = 537, X86_INS_POP = 538, X86_INS_POPA = 539, X86_INS_POPCNT = 540, X86_INS_POPF = 541, X86_INS_POPFD = 542, X86_INS_POPFQ = 543, X86_INS_PREFETCH = 544, X86_INS_PREFETCHNTA = 545, X86_INS_PREFETCHT0 = 546, X86_INS_PREFETCHT1 = 547, X86_INS_PREFETCHT2 = 548, X86_INS_PREFETCHW = 549, X86_INS_PSHUFD = 550, X86_INS_PSHUFHW = 551, X86_INS_PSHUFLW = 552, X86_INS_PSLLDQ = 553, X86_INS_PSRLDQ = 554, X86_INS_PSWAPD = 555, X86_INS_PTEST = 556, X86_INS_PUNPCKHQDQ = 557, X86_INS_PUNPCKLQDQ = 558, X86_INS_PUSH = 559, X86_INS_PUSHA = 560, X86_INS_PUSHF = 561, X86_INS_PUSHFD = 562, X86_INS_PUSHFQ = 563, X86_INS_RCL = 564, X86_INS_RCPPS = 565, X86_INS_RCPSS = 566, X86_INS_RCR = 567, X86_INS_RDFSBASE = 568, X86_INS_RDGSBASE = 569, X86_INS_RDMSR = 570, X86_INS_RDPMC = 571, X86_INS_RDRAND = 572, X86_INS_RDSEED = 573, X86_INS_RDTSC = 574, X86_INS_RDTSCP = 575, X86_INS_REPNE = 576, X86_INS_REP = 577, X86_INS_RET = 578, X86_INS_REX64 = 579, X86_INS_ROL = 580, X86_INS_ROR = 581, X86_INS_RORX = 582, X86_INS_ROUNDPD = 583, X86_INS_ROUNDPS = 584, X86_INS_ROUNDSD = 585, X86_INS_ROUNDSS = 586, X86_INS_RSM = 587, X86_INS_RSQRTPS = 588, X86_INS_RSQRTSS = 589, X86_INS_SAHF = 590, X86_INS_SAR = 591, X86_INS_SARX = 592, X86_INS_SBB = 593, X86_INS_SCASW = 594, X86_INS_SCASD = 595, X86_INS_SCASQ = 596, X86_INS_SCASB = 597, X86_INS_SETAE = 598, X86_INS_SETA = 599, X86_INS_SETBE = 600, X86_INS_SETB = 601, X86_INS_SETE = 602, X86_INS_SETGE = 603, X86_INS_SETG = 604, X86_INS_SETLE = 605, X86_INS_SETL = 606, X86_INS_SETNE = 607, X86_INS_SETNO = 608, X86_INS_SETNP = 609, X86_INS_SETNS = 610, X86_INS_SETO = 611, X86_INS_SETP = 612, X86_INS_SETS = 613, X86_INS_SFENCE = 614, X86_INS_SGDT = 615, X86_INS_SHA1MSG1 = 616, X86_INS_SHA1MSG2 = 617, X86_INS_SHA1NEXTE = 618, X86_INS_SHA1RNDS4 = 619, X86_INS_SHA256MSG1 = 620, X86_INS_SHA256MSG2 = 621, X86_INS_SHA256RNDS2 = 622, X86_INS_SHL = 623, X86_INS_SHLD = 624, X86_INS_SHLX = 625, X86_INS_SHR = 626, X86_INS_SHRD = 627, X86_INS_SHRX = 628, X86_INS_SHUFPD = 629, X86_INS_SHUFPS = 630, X86_INS_SIDT = 631, X86_INS_FSIN = 632, X86_INS_SKINIT = 633, X86_INS_SLDT = 634, X86_INS_SMSW = 635, X86_INS_SQRTPD = 636, X86_INS_SQRTPS = 637, X86_INS_SQRTSD = 638, X86_INS_SQRTSS = 639, X86_INS_FSQRT = 640, X86_INS_SS = 641, X86_INS_STAC = 642, X86_INS_STC = 643, X86_INS_STD = 644, X86_INS_STGI = 645, X86_INS_STI = 646, X86_INS_STMXCSR = 647, X86_INS_STOSB = 648, X86_INS_STOSD = 649, X86_INS_STOSQ = 650, X86_INS_STOSW = 651, X86_INS_STR = 652, X86_INS_FST = 653, X86_INS_FSTP = 654, X86_INS_SUBPD = 655, X86_INS_SUBPS = 656, X86_INS_FSUBR = 657, X86_INS_FISUBR = 658, X86_INS_FSUBRP = 659, X86_INS_SUBSD = 660, X86_INS_SUBSS = 661, X86_INS_FSUB = 662, X86_INS_FISUB = 663, X86_INS_FSUBP = 664, X86_INS_SWAPGS = 665, X86_INS_SYSCALL = 666, X86_INS_SYSENTER = 667, X86_INS_SYSEXIT = 668, X86_INS_SYSRET = 669, X86_INS_T1MSKC = 670, X86_INS_TEST = 671, X86_INS_UD2 = 672, X86_INS_FTST = 673, X86_INS_TZCNT = 674, X86_INS_TZMSK = 675, X86_INS_FUCOMPI = 676, X86_INS_FUCOMI = 677, X86_INS_FUCOMPP = 678, X86_INS_FUCOMP = 679, X86_INS_FUCOM = 680, X86_INS_UD2B = 681, X86_INS_UNPCKHPD = 682, X86_INS_UNPCKHPS = 683, X86_INS_UNPCKLPD = 684, X86_INS_UNPCKLPS = 685, X86_INS_VADDPD = 686, X86_INS_VADDPS = 687, X86_INS_VADDSD = 688, X86_INS_VADDSS = 689, X86_INS_VADDSUBPD = 690, X86_INS_VADDSUBPS = 691, X86_INS_VAESDECLAST = 692, X86_INS_VAESDEC = 693, X86_INS_VAESENCLAST = 694, X86_INS_VAESENC = 695, X86_INS_VAESIMC = 696, X86_INS_VAESKEYGENASSIST = 697, X86_INS_VALIGND = 698, X86_INS_VALIGNQ = 699, X86_INS_VANDNPD = 700, X86_INS_VANDNPS = 701, X86_INS_VANDPD = 702, X86_INS_VANDPS = 703, X86_INS_VBLENDMPD = 704, X86_INS_VBLENDMPS = 705, X86_INS_VBLENDPD = 706, X86_INS_VBLENDPS = 707, X86_INS_VBLENDVPD = 708, X86_INS_VBLENDVPS = 709, X86_INS_VBROADCASTF128 = 710, X86_INS_VBROADCASTI128 = 711, X86_INS_VBROADCASTSD = 712, X86_INS_VBROADCASTSS = 713, X86_INS_VCMPPD = 714, X86_INS_VCMPPS = 715, X86_INS_VCMPSD = 716, X86_INS_VCMPSS = 717, X86_INS_VCVTDQ2PD = 718, X86_INS_VCVTDQ2PS = 719, X86_INS_VCVTPD2DQX = 720, X86_INS_VCVTPD2DQ = 721, X86_INS_VCVTPD2PSX = 722, X86_INS_VCVTPD2PS = 723, X86_INS_VCVTPH2PS = 724, X86_INS_VCVTPS2DQ = 725, X86_INS_VCVTPS2PD = 726, X86_INS_VCVTPS2PH = 727, X86_INS_VCVTSD2SI = 728, X86_INS_VCVTSD2USI = 729, X86_INS_VCVTSS2SI = 730, X86_INS_VCVTSS2USI = 731, X86_INS_VCVTTPD2DQX = 732, X86_INS_VCVTTPD2DQ = 733, X86_INS_VCVTTPD2UDQ = 734, X86_INS_VCVTTPS2DQ = 735, X86_INS_VCVTTPS2UDQ = 736, X86_INS_VCVTUDQ2PD = 737, X86_INS_VCVTUDQ2PS = 738, X86_INS_VDIVPD = 739, X86_INS_VDIVPS = 740, X86_INS_VDIVSD = 741, X86_INS_VDIVSS = 742, X86_INS_VDPPD = 743, X86_INS_VDPPS = 744, X86_INS_VERR = 745, X86_INS_VERW = 746, X86_INS_VEXTRACTF128 = 747, X86_INS_VEXTRACTF32X4 = 748, X86_INS_VEXTRACTF64X4 = 749, X86_INS_VEXTRACTI128 = 750, X86_INS_VEXTRACTI32X4 = 751, X86_INS_VEXTRACTI64X4 = 752, X86_INS_VEXTRACTPS = 753, X86_INS_VFMADD132PD = 754, X86_INS_VFMADD132PS = 755, X86_INS_VFMADD213PD = 756, X86_INS_VFMADD213PS = 757, X86_INS_VFMADDPD = 758, X86_INS_VFMADD231PD = 759, X86_INS_VFMADDPS = 760, X86_INS_VFMADD231PS = 761, X86_INS_VFMADDSD = 762, X86_INS_VFMADD213SD = 763, X86_INS_VFMADD132SD = 764, X86_INS_VFMADD231SD = 765, X86_INS_VFMADDSS = 766, X86_INS_VFMADD213SS = 767, X86_INS_VFMADD132SS = 768, X86_INS_VFMADD231SS = 769, X86_INS_VFMADDSUB132PD = 770, X86_INS_VFMADDSUB132PS = 771, X86_INS_VFMADDSUB213PD = 772, X86_INS_VFMADDSUB213PS = 773, X86_INS_VFMADDSUBPD = 774, X86_INS_VFMADDSUB231PD = 775, X86_INS_VFMADDSUBPS = 776, X86_INS_VFMADDSUB231PS = 777, X86_INS_VFMSUB132PD = 778, X86_INS_VFMSUB132PS = 779, X86_INS_VFMSUB213PD = 780, X86_INS_VFMSUB213PS = 781, X86_INS_VFMSUBADD132PD = 782, X86_INS_VFMSUBADD132PS = 783, X86_INS_VFMSUBADD213PD = 784, X86_INS_VFMSUBADD213PS = 785, X86_INS_VFMSUBADDPD = 786, X86_INS_VFMSUBADD231PD = 787, X86_INS_VFMSUBADDPS = 788, X86_INS_VFMSUBADD231PS = 789, X86_INS_VFMSUBPD = 790, X86_INS_VFMSUB231PD = 791, X86_INS_VFMSUBPS = 792, X86_INS_VFMSUB231PS = 793, X86_INS_VFMSUBSD = 794, X86_INS_VFMSUB213SD = 795, X86_INS_VFMSUB132SD = 796, X86_INS_VFMSUB231SD = 797, X86_INS_VFMSUBSS = 798, X86_INS_VFMSUB213SS = 799, X86_INS_VFMSUB132SS = 800, X86_INS_VFMSUB231SS = 801, X86_INS_VFNMADD132PD = 802, X86_INS_VFNMADD132PS = 803, X86_INS_VFNMADD213PD = 804, X86_INS_VFNMADD213PS = 805, X86_INS_VFNMADDPD = 806, X86_INS_VFNMADD231PD = 807, X86_INS_VFNMADDPS = 808, X86_INS_VFNMADD231PS = 809, X86_INS_VFNMADDSD = 810, X86_INS_VFNMADD213SD = 811, X86_INS_VFNMADD132SD = 812, X86_INS_VFNMADD231SD = 813, X86_INS_VFNMADDSS = 814, X86_INS_VFNMADD213SS = 815, X86_INS_VFNMADD132SS = 816, X86_INS_VFNMADD231SS = 817, X86_INS_VFNMSUB132PD = 818, X86_INS_VFNMSUB132PS = 819, X86_INS_VFNMSUB213PD = 820, X86_INS_VFNMSUB213PS = 821, X86_INS_VFNMSUBPD = 822, X86_INS_VFNMSUB231PD = 823, X86_INS_VFNMSUBPS = 824, X86_INS_VFNMSUB231PS = 825, X86_INS_VFNMSUBSD = 826, X86_INS_VFNMSUB213SD = 827, X86_INS_VFNMSUB132SD = 828, X86_INS_VFNMSUB231SD = 829, X86_INS_VFNMSUBSS = 830, X86_INS_VFNMSUB213SS = 831, X86_INS_VFNMSUB132SS = 832, X86_INS_VFNMSUB231SS = 833, X86_INS_VFRCZPD = 834, X86_INS_VFRCZPS = 835, X86_INS_VFRCZSD = 836, X86_INS_VFRCZSS = 837, X86_INS_VORPD = 838, X86_INS_VORPS = 839, X86_INS_VXORPD = 840, X86_INS_VXORPS = 841, X86_INS_VGATHERDPD = 842, X86_INS_VGATHERDPS = 843, X86_INS_VGATHERQPD = 844, X86_INS_VGATHERQPS = 845, X86_INS_VHADDPD = 846, X86_INS_VHADDPS = 847, X86_INS_VHSUBPD = 848, X86_INS_VHSUBPS = 849, X86_INS_VINSERTF128 = 850, X86_INS_VINSERTF32X4 = 851, X86_INS_VINSERTF64X4 = 852, X86_INS_VINSERTI128 = 853, X86_INS_VINSERTI32X4 = 854, X86_INS_VINSERTI64X4 = 855, X86_INS_VINSERTPS = 856, X86_INS_VLDDQU = 857, X86_INS_VLDMXCSR = 858, X86_INS_VMASKMOVDQU = 859, X86_INS_VMASKMOVPD = 860, X86_INS_VMASKMOVPS = 861, X86_INS_VMAXPD = 862, X86_INS_VMAXPS = 863, X86_INS_VMAXSD = 864, X86_INS_VMAXSS = 865, X86_INS_VMCALL = 866, X86_INS_VMCLEAR = 867, X86_INS_VMFUNC = 868, X86_INS_VMINPD = 869, X86_INS_VMINPS = 870, X86_INS_VMINSD = 871, X86_INS_VMINSS = 872, X86_INS_VMLAUNCH = 873, X86_INS_VMLOAD = 874, X86_INS_VMMCALL = 875, X86_INS_VMOVQ = 876, X86_INS_VMOVDDUP = 877, X86_INS_VMOVD = 878, X86_INS_VMOVDQA32 = 879, X86_INS_VMOVDQA64 = 880, X86_INS_VMOVDQA = 881, X86_INS_VMOVDQU32 = 882, X86_INS_VMOVDQU64 = 883, X86_INS_VMOVDQU = 884, X86_INS_VMOVHLPS = 885, X86_INS_VMOVHPD = 886, X86_INS_VMOVHPS = 887, X86_INS_VMOVLHPS = 888, X86_INS_VMOVLPD = 889, X86_INS_VMOVLPS = 890, X86_INS_VMOVMSKPD = 891, X86_INS_VMOVMSKPS = 892, X86_INS_VMOVNTDQA = 893, X86_INS_VMOVNTDQ = 894, X86_INS_VMOVNTPD = 895, X86_INS_VMOVNTPS = 896, X86_INS_VMOVSD = 897, X86_INS_VMOVSHDUP = 898, X86_INS_VMOVSLDUP = 899, X86_INS_VMOVSS = 900, X86_INS_VMOVUPD = 901, X86_INS_VMOVUPS = 902, X86_INS_VMPSADBW = 903, X86_INS_VMPTRLD = 904, X86_INS_VMPTRST = 905, X86_INS_VMREAD = 906, X86_INS_VMRESUME = 907, X86_INS_VMRUN = 908, X86_INS_VMSAVE = 909, X86_INS_VMULPD = 910, X86_INS_VMULPS = 911, X86_INS_VMULSD = 912, X86_INS_VMULSS = 913, X86_INS_VMWRITE = 914, X86_INS_VMXOFF = 915, X86_INS_VMXON = 916, X86_INS_VPABSB = 917, X86_INS_VPABSD = 918, X86_INS_VPABSQ = 919, X86_INS_VPABSW = 920, X86_INS_VPACKSSDW = 921, X86_INS_VPACKSSWB = 922, X86_INS_VPACKUSDW = 923, X86_INS_VPACKUSWB = 924, X86_INS_VPADDB = 925, X86_INS_VPADDD = 926, X86_INS_VPADDQ = 927, X86_INS_VPADDSB = 928, X86_INS_VPADDSW = 929, X86_INS_VPADDUSB = 930, X86_INS_VPADDUSW = 931, X86_INS_VPADDW = 932, X86_INS_VPALIGNR = 933, X86_INS_VPANDD = 934, X86_INS_VPANDND = 935, X86_INS_VPANDNQ = 936, X86_INS_VPANDN = 937, X86_INS_VPANDQ = 938, X86_INS_VPAND = 939, X86_INS_VPAVGB = 940, X86_INS_VPAVGW = 941, X86_INS_VPBLENDD = 942, X86_INS_VPBLENDMD = 943, X86_INS_VPBLENDMQ = 944, X86_INS_VPBLENDVB = 945, X86_INS_VPBLENDW = 946, X86_INS_VPBROADCASTB = 947, X86_INS_VPBROADCASTD = 948, X86_INS_VPBROADCASTMB2Q = 949, X86_INS_VPBROADCASTMW2D = 950, X86_INS_VPBROADCASTQ = 951, X86_INS_VPBROADCASTW = 952, X86_INS_VPCLMULQDQ = 953, X86_INS_VPCMOV = 954, X86_INS_VPCMP = 955, X86_INS_VPCMPD = 956, X86_INS_VPCMPEQB = 957, X86_INS_VPCMPEQD = 958, X86_INS_VPCMPEQQ = 959, X86_INS_VPCMPEQW = 960, X86_INS_VPCMPESTRI = 961, X86_INS_VPCMPESTRM = 962, X86_INS_VPCMPGTB = 963, X86_INS_VPCMPGTD = 964, X86_INS_VPCMPGTQ = 965, X86_INS_VPCMPGTW = 966, X86_INS_VPCMPISTRI = 967, X86_INS_VPCMPISTRM = 968, X86_INS_VPCMPQ = 969, X86_INS_VPCMPUD = 970, X86_INS_VPCMPUQ = 971, X86_INS_VPCOMB = 972, X86_INS_VPCOMD = 973, X86_INS_VPCOMQ = 974, X86_INS_VPCOMUB = 975, X86_INS_VPCOMUD = 976, X86_INS_VPCOMUQ = 977, X86_INS_VPCOMUW = 978, X86_INS_VPCOMW = 979, X86_INS_VPCONFLICTD = 980, X86_INS_VPCONFLICTQ = 981, X86_INS_VPERM2F128 = 982, X86_INS_VPERM2I128 = 983, X86_INS_VPERMD = 984, X86_INS_VPERMI2D = 985, X86_INS_VPERMI2PD = 986, X86_INS_VPERMI2PS = 987, X86_INS_VPERMI2Q = 988, X86_INS_VPERMIL2PD = 989, X86_INS_VPERMIL2PS = 990, X86_INS_VPERMILPD = 991, X86_INS_VPERMILPS = 992, X86_INS_VPERMPD = 993, X86_INS_VPERMPS = 994, X86_INS_VPERMQ = 995, X86_INS_VPEXTRB = 996, X86_INS_VPEXTRD = 997, X86_INS_VPEXTRQ = 998, X86_INS_VPEXTRW = 999, X86_INS_VPGATHERDD = 1000, X86_INS_VPGATHERDQ = 1001, X86_INS_VPGATHERQD = 1002, X86_INS_VPGATHERQQ = 1003, X86_INS_VPHADDBD = 1004, X86_INS_VPHADDBQ = 1005, X86_INS_VPHADDBW = 1006, X86_INS_VPHADDDQ = 1007, X86_INS_VPHADDD = 1008, X86_INS_VPHADDSW = 1009, X86_INS_VPHADDUBD = 1010, X86_INS_VPHADDUBQ = 1011, X86_INS_VPHADDUBW = 1012, X86_INS_VPHADDUDQ = 1013, X86_INS_VPHADDUWD = 1014, X86_INS_VPHADDUWQ = 1015, X86_INS_VPHADDWD = 1016, X86_INS_VPHADDWQ = 1017, X86_INS_VPHADDW = 1018, X86_INS_VPHMINPOSUW = 1019, X86_INS_VPHSUBBW = 1020, X86_INS_VPHSUBDQ = 1021, X86_INS_VPHSUBD = 1022, X86_INS_VPHSUBSW = 1023, X86_INS_VPHSUBWD = 1024, X86_INS_VPHSUBW = 1025, X86_INS_VPINSRB = 1026, X86_INS_VPINSRD = 1027, X86_INS_VPINSRQ = 1028, X86_INS_VPINSRW = 1029, X86_INS_VPMACSDD = 1030, X86_INS_VPMACSDQH = 1031, X86_INS_VPMACSDQL = 1032, X86_INS_VPMACSSDD = 1033, X86_INS_VPMACSSDQH = 1034, X86_INS_VPMACSSDQL = 1035, X86_INS_VPMACSSWD = 1036, X86_INS_VPMACSSWW = 1037, X86_INS_VPMACSWD = 1038, X86_INS_VPMACSWW = 1039, X86_INS_VPMADCSSWD = 1040, X86_INS_VPMADCSWD = 1041, X86_INS_VPMADDUBSW = 1042, X86_INS_VPMADDWD = 1043, X86_INS_VPMASKMOVD = 1044, X86_INS_VPMASKMOVQ = 1045, X86_INS_VPMAXSB = 1046, X86_INS_VPMAXSD = 1047, X86_INS_VPMAXSQ = 1048, X86_INS_VPMAXSW = 1049, X86_INS_VPMAXUB = 1050, X86_INS_VPMAXUD = 1051, X86_INS_VPMAXUQ = 1052, X86_INS_VPMAXUW = 1053, X86_INS_VPMINSB = 1054, X86_INS_VPMINSD = 1055, X86_INS_VPMINSQ = 1056, X86_INS_VPMINSW = 1057, X86_INS_VPMINUB = 1058, X86_INS_VPMINUD = 1059, X86_INS_VPMINUQ = 1060, X86_INS_VPMINUW = 1061, X86_INS_VPMOVDB = 1062, X86_INS_VPMOVDW = 1063, X86_INS_VPMOVMSKB = 1064, X86_INS_VPMOVQB = 1065, X86_INS_VPMOVQD = 1066, X86_INS_VPMOVQW = 1067, X86_INS_VPMOVSDB = 1068, X86_INS_VPMOVSDW = 1069, X86_INS_VPMOVSQB = 1070, X86_INS_VPMOVSQD = 1071, X86_INS_VPMOVSQW = 1072, X86_INS_VPMOVSXBD = 1073, X86_INS_VPMOVSXBQ = 1074, X86_INS_VPMOVSXBW = 1075, X86_INS_VPMOVSXDQ = 1076, X86_INS_VPMOVSXWD = 1077, X86_INS_VPMOVSXWQ = 1078, X86_INS_VPMOVUSDB = 1079, X86_INS_VPMOVUSDW = 1080, X86_INS_VPMOVUSQB = 1081, X86_INS_VPMOVUSQD = 1082, X86_INS_VPMOVUSQW = 1083, X86_INS_VPMOVZXBD = 1084, X86_INS_VPMOVZXBQ = 1085, X86_INS_VPMOVZXBW = 1086, X86_INS_VPMOVZXDQ = 1087, X86_INS_VPMOVZXWD = 1088, X86_INS_VPMOVZXWQ = 1089, X86_INS_VPMULDQ = 1090, X86_INS_VPMULHRSW = 1091, X86_INS_VPMULHUW = 1092, X86_INS_VPMULHW = 1093, X86_INS_VPMULLD = 1094, X86_INS_VPMULLW = 1095, X86_INS_VPMULUDQ = 1096, X86_INS_VPORD = 1097, X86_INS_VPORQ = 1098, X86_INS_VPOR = 1099, X86_INS_VPPERM = 1100, X86_INS_VPROTB = 1101, X86_INS_VPROTD = 1102, X86_INS_VPROTQ = 1103, X86_INS_VPROTW = 1104, X86_INS_VPSADBW = 1105, X86_INS_VPSCATTERDD = 1106, X86_INS_VPSCATTERDQ = 1107, X86_INS_VPSCATTERQD = 1108, X86_INS_VPSCATTERQQ = 1109, X86_INS_VPSHAB = 1110, X86_INS_VPSHAD = 1111, X86_INS_VPSHAQ = 1112, X86_INS_VPSHAW = 1113, X86_INS_VPSHLB = 1114, X86_INS_VPSHLD = 1115, X86_INS_VPSHLQ = 1116, X86_INS_VPSHLW = 1117, X86_INS_VPSHUFB = 1118, X86_INS_VPSHUFD = 1119, X86_INS_VPSHUFHW = 1120, X86_INS_VPSHUFLW = 1121, X86_INS_VPSIGNB = 1122, X86_INS_VPSIGND = 1123, X86_INS_VPSIGNW = 1124, X86_INS_VPSLLDQ = 1125, X86_INS_VPSLLD = 1126, X86_INS_VPSLLQ = 1127, X86_INS_VPSLLVD = 1128, X86_INS_VPSLLVQ = 1129, X86_INS_VPSLLW = 1130, X86_INS_VPSRAD = 1131, X86_INS_VPSRAQ = 1132, X86_INS_VPSRAVD = 1133, X86_INS_VPSRAVQ = 1134, X86_INS_VPSRAW = 1135, X86_INS_VPSRLDQ = 1136, X86_INS_VPSRLD = 1137, X86_INS_VPSRLQ = 1138, X86_INS_VPSRLVD = 1139, X86_INS_VPSRLVQ = 1140, X86_INS_VPSRLW = 1141, X86_INS_VPSUBB = 1142, X86_INS_VPSUBD = 1143, X86_INS_VPSUBQ = 1144, X86_INS_VPSUBSB = 1145, X86_INS_VPSUBSW = 1146, X86_INS_VPSUBUSB = 1147, X86_INS_VPSUBUSW = 1148, X86_INS_VPSUBW = 1149, X86_INS_VPTESTMD = 1150, X86_INS_VPTESTMQ = 1151, X86_INS_VPTEST = 1152, X86_INS_VPUNPCKHBW = 1153, X86_INS_VPUNPCKHDQ = 1154, X86_INS_VPUNPCKHQDQ = 1155, X86_INS_VPUNPCKHWD = 1156, X86_INS_VPUNPCKLBW = 1157, X86_INS_VPUNPCKLDQ = 1158, X86_INS_VPUNPCKLQDQ = 1159, X86_INS_VPUNPCKLWD = 1160, X86_INS_VPXORD = 1161, X86_INS_VPXORQ = 1162, X86_INS_VPXOR = 1163, X86_INS_VRCP14PD = 1164, X86_INS_VRCP14PS = 1165, X86_INS_VRCP14SD = 1166, X86_INS_VRCP14SS = 1167, X86_INS_VRCP28PD = 1168, X86_INS_VRCP28PS = 1169, X86_INS_VRCP28SD = 1170, X86_INS_VRCP28SS = 1171, X86_INS_VRCPPS = 1172, X86_INS_VRCPSS = 1173, X86_INS_VRNDSCALESD = 1174, X86_INS_VRNDSCALESS = 1175, X86_INS_VRNDSCALEPD = 1176, X86_INS_VRNDSCALEPS = 1177, X86_INS_VROUNDPD = 1178, X86_INS_VROUNDPS = 1179, X86_INS_VROUNDSD = 1180, X86_INS_VROUNDSS = 1181, X86_INS_VRSQRT14PD = 1182, X86_INS_VRSQRT14PS = 1183, X86_INS_VRSQRT14SD = 1184, X86_INS_VRSQRT14SS = 1185, X86_INS_VRSQRT28PD = 1186, X86_INS_VRSQRT28PS = 1187, X86_INS_VRSQRT28SD = 1188, X86_INS_VRSQRT28SS = 1189, X86_INS_VRSQRTPS = 1190, X86_INS_VRSQRTSS = 1191, X86_INS_VSCATTERDPD = 1192, X86_INS_VSCATTERDPS = 1193, X86_INS_VSCATTERQPD = 1194, X86_INS_VSCATTERQPS = 1195, X86_INS_VSHUFPD = 1196, X86_INS_VSHUFPS = 1197, X86_INS_VSQRTPD = 1198, X86_INS_VSQRT = 1199, X86_INS_VSQRTPS = 1200, X86_INS_VSQRTSD = 1201, X86_INS_VSQRTSS = 1202, X86_INS_VSTMXCSR = 1203, X86_INS_VSUBPD = 1204, X86_INS_VSUBPS = 1205, X86_INS_VSUBSD = 1206, X86_INS_VSUBSS = 1207, X86_INS_VTESTPD = 1208, X86_INS_VTESTPS = 1209, X86_INS_VUNPCKHPD = 1210, X86_INS_VUNPCKHPS = 1211, X86_INS_VUNPCKLPD = 1212, X86_INS_VUNPCKLPS = 1213, X86_INS_VZEROALL = 1214, X86_INS_VZEROUPPER = 1215, X86_INS_WAIT = 1216, X86_INS_WBINVD = 1217, X86_INS_WRFSBASE = 1218, X86_INS_WRGSBASE = 1219, X86_INS_WRMSR = 1220, X86_INS_XABORT = 1221, X86_INS_XACQUIRE = 1222, X86_INS_XBEGIN = 1223, X86_INS_XCHG = 1224, X86_INS_FXCH = 1225, X86_INS_XCRYPTCBC = 1226, X86_INS_XCRYPTCFB = 1227, X86_INS_XCRYPTCTR = 1228, X86_INS_XCRYPTECB = 1229, X86_INS_XCRYPTOFB = 1230, X86_INS_XEND = 1231, X86_INS_XGETBV = 1232, X86_INS_XLATB = 1233, X86_INS_XRELEASE = 1234, X86_INS_XRSTOR = 1235, X86_INS_XRSTOR64 = 1236, X86_INS_XSAVE = 1237, X86_INS_XSAVE64 = 1238, X86_INS_XSAVEOPT = 1239, X86_INS_XSAVEOPT64 = 1240, X86_INS_XSETBV = 1241, X86_INS_XSHA1 = 1242, X86_INS_XSHA256 = 1243, X86_INS_XSTORE = 1244, X86_INS_XTEST = 1245, X86_INS_MAX, } x86_insn; // group of X86 instructions typedef enum x86_insn_group { X86_GRP_INVALID = 0, X86_GRP_3DNOW, X86_GRP_AES, X86_GRP_ADX, X86_GRP_AVX, X86_GRP_AVX2, X86_GRP_AVX512, X86_GRP_BMI, X86_GRP_BMI2, X86_GRP_CMOV, X86_GRP_F16C, X86_GRP_FMA, X86_GRP_FMA4, X86_GRP_FSGSBASE, X86_GRP_HLE, X86_GRP_MMX, X86_GRP_MODE32, X86_GRP_MODE64, X86_GRP_RTM, X86_GRP_SHA, X86_GRP_SSE1, X86_GRP_SSE2, X86_GRP_SSE3, X86_GRP_SSE41, X86_GRP_SSE42, X86_GRP_SSE4A, X86_GRP_SSSE3, X86_GRP_PCLMUL, X86_GRP_XOP, X86_GRP_CDI, X86_GRP_ERI, X86_GRP_TBM, X86_GRP_MAX } x86_insn_group; #ifdef __cplusplus } #endif #endif