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