1 #ifndef CAPSTONE_X86_H 2 #define CAPSTONE_X86_H 3 4 /* Capstone Disassembly Engine */ 5 /* By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2015 */ 6 7 #ifdef __cplusplus 8 extern "C" { 9 #endif 10 11 #include "platform.h" 12 13 /// Calculate relative address for X86-64, given cs_insn structure 14 #define X86_REL_ADDR(insn) (((insn).detail->x86.operands[0].type == X86_OP_IMM) \ 15 ? (uint64_t)((insn).detail->x86.operands[0].imm) \ 16 : (((insn).address + (insn).size) + (uint64_t)(insn).detail->x86.disp)) 17 18 /// X86 registers 19 typedef enum x86_reg { 20 X86_REG_INVALID = 0, 21 X86_REG_AH, X86_REG_AL, X86_REG_AX, X86_REG_BH, X86_REG_BL, 22 X86_REG_BP, X86_REG_BPL, X86_REG_BX, X86_REG_CH, X86_REG_CL, 23 X86_REG_CS, X86_REG_CX, X86_REG_DH, X86_REG_DI, X86_REG_DIL, 24 X86_REG_DL, X86_REG_DS, X86_REG_DX, X86_REG_EAX, X86_REG_EBP, 25 X86_REG_EBX, X86_REG_ECX, X86_REG_EDI, X86_REG_EDX, X86_REG_EFLAGS, 26 X86_REG_EIP, X86_REG_EIZ, X86_REG_ES, X86_REG_ESI, X86_REG_ESP, 27 X86_REG_FPSW, X86_REG_FS, X86_REG_GS, X86_REG_IP, X86_REG_RAX, 28 X86_REG_RBP, X86_REG_RBX, X86_REG_RCX, X86_REG_RDI, X86_REG_RDX, 29 X86_REG_RIP, X86_REG_RIZ, X86_REG_RSI, X86_REG_RSP, X86_REG_SI, 30 X86_REG_SIL, X86_REG_SP, X86_REG_SPL, X86_REG_SS, X86_REG_CR0, 31 X86_REG_CR1, X86_REG_CR2, X86_REG_CR3, X86_REG_CR4, X86_REG_CR5, 32 X86_REG_CR6, X86_REG_CR7, X86_REG_CR8, X86_REG_CR9, X86_REG_CR10, 33 X86_REG_CR11, X86_REG_CR12, X86_REG_CR13, X86_REG_CR14, X86_REG_CR15, 34 X86_REG_DR0, X86_REG_DR1, X86_REG_DR2, X86_REG_DR3, X86_REG_DR4, 35 X86_REG_DR5, X86_REG_DR6, X86_REG_DR7, X86_REG_DR8, X86_REG_DR9, 36 X86_REG_DR10, X86_REG_DR11, X86_REG_DR12, X86_REG_DR13, X86_REG_DR14, 37 X86_REG_DR15, X86_REG_FP0, X86_REG_FP1, X86_REG_FP2, X86_REG_FP3, 38 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 // Sub-flags of EFLAGS 75 #define X86_EFLAGS_MODIFY_AF (1ULL << 0) 76 #define X86_EFLAGS_MODIFY_CF (1ULL << 1) 77 #define X86_EFLAGS_MODIFY_SF (1ULL << 2) 78 #define X86_EFLAGS_MODIFY_ZF (1ULL << 3) 79 #define X86_EFLAGS_MODIFY_PF (1ULL << 4) 80 #define X86_EFLAGS_MODIFY_OF (1ULL << 5) 81 #define X86_EFLAGS_MODIFY_TF (1ULL << 6) 82 #define X86_EFLAGS_MODIFY_IF (1ULL << 7) 83 #define X86_EFLAGS_MODIFY_DF (1ULL << 8) 84 #define X86_EFLAGS_MODIFY_NT (1ULL << 9) 85 #define X86_EFLAGS_MODIFY_RF (1ULL << 10) 86 #define X86_EFLAGS_PRIOR_OF (1ULL << 11) 87 #define X86_EFLAGS_PRIOR_SF (1ULL << 12) 88 #define X86_EFLAGS_PRIOR_ZF (1ULL << 13) 89 #define X86_EFLAGS_PRIOR_AF (1ULL << 14) 90 #define X86_EFLAGS_PRIOR_PF (1ULL << 15) 91 #define X86_EFLAGS_PRIOR_CF (1ULL << 16) 92 #define X86_EFLAGS_PRIOR_TF (1ULL << 17) 93 #define X86_EFLAGS_PRIOR_IF (1ULL << 18) 94 #define X86_EFLAGS_PRIOR_DF (1ULL << 19) 95 #define X86_EFLAGS_PRIOR_NT (1ULL << 20) 96 #define X86_EFLAGS_RESET_OF (1ULL << 21) 97 #define X86_EFLAGS_RESET_CF (1ULL << 22) 98 #define X86_EFLAGS_RESET_DF (1ULL << 23) 99 #define X86_EFLAGS_RESET_IF (1ULL << 24) 100 #define X86_EFLAGS_RESET_SF (1ULL << 25) 101 #define X86_EFLAGS_RESET_AF (1ULL << 26) 102 #define X86_EFLAGS_RESET_TF (1ULL << 27) 103 #define X86_EFLAGS_RESET_NT (1ULL << 28) 104 #define X86_EFLAGS_RESET_PF (1ULL << 29) 105 #define X86_EFLAGS_SET_CF (1ULL << 30) 106 #define X86_EFLAGS_SET_DF (1ULL << 31) 107 #define X86_EFLAGS_SET_IF (1ULL << 32) 108 #define X86_EFLAGS_TEST_OF (1ULL << 33) 109 #define X86_EFLAGS_TEST_SF (1ULL << 34) 110 #define X86_EFLAGS_TEST_ZF (1ULL << 35) 111 #define X86_EFLAGS_TEST_PF (1ULL << 36) 112 #define X86_EFLAGS_TEST_CF (1ULL << 37) 113 #define X86_EFLAGS_TEST_NT (1ULL << 38) 114 #define X86_EFLAGS_TEST_DF (1ULL << 39) 115 #define X86_EFLAGS_UNDEFINED_OF (1ULL << 40) 116 #define X86_EFLAGS_UNDEFINED_SF (1ULL << 41) 117 #define X86_EFLAGS_UNDEFINED_ZF (1ULL << 42) 118 #define X86_EFLAGS_UNDEFINED_PF (1ULL << 43) 119 #define X86_EFLAGS_UNDEFINED_AF (1ULL << 44) 120 #define X86_EFLAGS_UNDEFINED_CF (1ULL << 45) 121 #define X86_EFLAGS_RESET_RF (1ULL << 46) 122 #define X86_EFLAGS_TEST_RF (1ULL << 47) 123 #define X86_EFLAGS_TEST_IF (1ULL << 48) 124 #define X86_EFLAGS_TEST_TF (1ULL << 49) 125 #define X86_EFLAGS_TEST_AF (1ULL << 50) 126 #define X86_EFLAGS_RESET_ZF (1ULL << 51) 127 #define X86_EFLAGS_SET_OF (1ULL << 52) 128 #define X86_EFLAGS_SET_SF (1ULL << 53) 129 #define X86_EFLAGS_SET_ZF (1ULL << 54) 130 #define X86_EFLAGS_SET_AF (1ULL << 55) 131 #define X86_EFLAGS_SET_PF (1ULL << 56) 132 #define X86_EFLAGS_RESET_0F (1ULL << 57) 133 #define X86_EFLAGS_RESET_AC (1ULL << 58) 134 135 #define X86_FPU_FLAGS_MODIFY_C0 (1ULL << 0) 136 #define X86_FPU_FLAGS_MODIFY_C1 (1ULL << 1) 137 #define X86_FPU_FLAGS_MODIFY_C2 (1ULL << 2) 138 #define X86_FPU_FLAGS_MODIFY_C3 (1ULL << 3) 139 #define X86_FPU_FLAGS_RESET_C0 (1ULL << 4) 140 #define X86_FPU_FLAGS_RESET_C1 (1ULL << 5) 141 #define X86_FPU_FLAGS_RESET_C2 (1ULL << 6) 142 #define X86_FPU_FLAGS_RESET_C3 (1ULL << 7) 143 #define X86_FPU_FLAGS_SET_C0 (1ULL << 8) 144 #define X86_FPU_FLAGS_SET_C1 (1ULL << 9) 145 #define X86_FPU_FLAGS_SET_C2 (1ULL << 10) 146 #define X86_FPU_FLAGS_SET_C3 (1ULL << 11) 147 #define X86_FPU_FLAGS_UNDEFINED_C0 (1ULL << 12) 148 #define X86_FPU_FLAGS_UNDEFINED_C1 (1ULL << 13) 149 #define X86_FPU_FLAGS_UNDEFINED_C2 (1ULL << 14) 150 #define X86_FPU_FLAGS_UNDEFINED_C3 (1ULL << 15) 151 #define X86_FPU_FLAGS_TEST_C0 (1ULL << 16) 152 #define X86_FPU_FLAGS_TEST_C1 (1ULL << 17) 153 #define X86_FPU_FLAGS_TEST_C2 (1ULL << 18) 154 #define X86_FPU_FLAGS_TEST_C3 (1ULL << 19) 155 156 157 /// Operand type for instruction's operands 158 typedef enum x86_op_type { 159 X86_OP_INVALID = 0, ///< = CS_OP_INVALID (Uninitialized). 160 X86_OP_REG, ///< = CS_OP_REG (Register operand). 161 X86_OP_IMM, ///< = CS_OP_IMM (Immediate operand). 162 X86_OP_MEM, ///< = CS_OP_MEM (Memory operand). 163 } x86_op_type; 164 165 /// XOP Code Condition type 166 typedef enum x86_xop_cc { 167 X86_XOP_CC_INVALID = 0, ///< Uninitialized. 168 X86_XOP_CC_LT, 169 X86_XOP_CC_LE, 170 X86_XOP_CC_GT, 171 X86_XOP_CC_GE, 172 X86_XOP_CC_EQ, 173 X86_XOP_CC_NEQ, 174 X86_XOP_CC_FALSE, 175 X86_XOP_CC_TRUE, 176 } x86_xop_cc; 177 178 /// AVX broadcast type 179 typedef enum x86_avx_bcast { 180 X86_AVX_BCAST_INVALID = 0, ///< Uninitialized. 181 X86_AVX_BCAST_2, ///< AVX512 broadcast type {1to2} 182 X86_AVX_BCAST_4, ///< AVX512 broadcast type {1to4} 183 X86_AVX_BCAST_8, ///< AVX512 broadcast type {1to8} 184 X86_AVX_BCAST_16, ///< AVX512 broadcast type {1to16} 185 } x86_avx_bcast; 186 187 /// SSE Code Condition type 188 typedef enum x86_sse_cc { 189 X86_SSE_CC_INVALID = 0, ///< Uninitialized. 190 X86_SSE_CC_EQ, 191 X86_SSE_CC_LT, 192 X86_SSE_CC_LE, 193 X86_SSE_CC_UNORD, 194 X86_SSE_CC_NEQ, 195 X86_SSE_CC_NLT, 196 X86_SSE_CC_NLE, 197 X86_SSE_CC_ORD, 198 } x86_sse_cc; 199 200 /// AVX Code Condition type 201 typedef enum x86_avx_cc { 202 X86_AVX_CC_INVALID = 0, ///< Uninitialized. 203 X86_AVX_CC_EQ, 204 X86_AVX_CC_LT, 205 X86_AVX_CC_LE, 206 X86_AVX_CC_UNORD, 207 X86_AVX_CC_NEQ, 208 X86_AVX_CC_NLT, 209 X86_AVX_CC_NLE, 210 X86_AVX_CC_ORD, 211 X86_AVX_CC_EQ_UQ, 212 X86_AVX_CC_NGE, 213 X86_AVX_CC_NGT, 214 X86_AVX_CC_FALSE, 215 X86_AVX_CC_NEQ_OQ, 216 X86_AVX_CC_GE, 217 X86_AVX_CC_GT, 218 X86_AVX_CC_TRUE, 219 X86_AVX_CC_EQ_OS, 220 X86_AVX_CC_LT_OQ, 221 X86_AVX_CC_LE_OQ, 222 X86_AVX_CC_UNORD_S, 223 X86_AVX_CC_NEQ_US, 224 X86_AVX_CC_NLT_UQ, 225 X86_AVX_CC_NLE_UQ, 226 X86_AVX_CC_ORD_S, 227 X86_AVX_CC_EQ_US, 228 X86_AVX_CC_NGE_UQ, 229 X86_AVX_CC_NGT_UQ, 230 X86_AVX_CC_FALSE_OS, 231 X86_AVX_CC_NEQ_OS, 232 X86_AVX_CC_GE_OQ, 233 X86_AVX_CC_GT_OQ, 234 X86_AVX_CC_TRUE_US, 235 } x86_avx_cc; 236 237 /// AVX static rounding mode type 238 typedef enum x86_avx_rm { 239 X86_AVX_RM_INVALID = 0, ///< Uninitialized. 240 X86_AVX_RM_RN, ///< Round to nearest 241 X86_AVX_RM_RD, ///< Round down 242 X86_AVX_RM_RU, ///< Round up 243 X86_AVX_RM_RZ, ///< Round toward zero 244 } x86_avx_rm; 245 246 /// Instruction prefixes - to be used in cs_x86.prefix[] 247 typedef enum x86_prefix { 248 X86_PREFIX_LOCK = 0xf0, ///< lock (cs_x86.prefix[0] 249 X86_PREFIX_REP = 0xf3, ///< rep (cs_x86.prefix[0] 250 X86_PREFIX_REPE = 0xf3, ///< repe/repz (cs_x86.prefix[0] 251 X86_PREFIX_REPNE = 0xf2, ///< repne/repnz (cs_x86.prefix[0] 252 253 X86_PREFIX_CS = 0x2e, ///< segment override CS (cs_x86.prefix[1] 254 X86_PREFIX_SS = 0x36, ///< segment override SS (cs_x86.prefix[1] 255 X86_PREFIX_DS = 0x3e, ///< segment override DS (cs_x86.prefix[1] 256 X86_PREFIX_ES = 0x26, ///< segment override ES (cs_x86.prefix[1] 257 X86_PREFIX_FS = 0x64, ///< segment override FS (cs_x86.prefix[1] 258 X86_PREFIX_GS = 0x65, ///< segment override GS (cs_x86.prefix[1] 259 260 X86_PREFIX_OPSIZE = 0x66, ///< operand-size override (cs_x86.prefix[2] 261 X86_PREFIX_ADDRSIZE = 0x67, ///< address-size override (cs_x86.prefix[3] 262 } x86_prefix; 263 264 /// Instruction's operand referring to memory 265 /// This is associated with X86_OP_MEM operand type above 266 typedef struct x86_op_mem { 267 x86_reg segment; ///< segment register (or X86_REG_INVALID if irrelevant) 268 x86_reg base; ///< base register (or X86_REG_INVALID if irrelevant) 269 x86_reg index; ///< index register (or X86_REG_INVALID if irrelevant) 270 int scale; ///< scale for index register 271 int64_t disp; ///< displacement value 272 } x86_op_mem; 273 274 /// Instruction operand 275 typedef struct cs_x86_op { 276 x86_op_type type; ///< operand type 277 union { 278 x86_reg reg; ///< register value for REG operand 279 int64_t imm; ///< immediate value for IMM operand 280 x86_op_mem mem; ///< base/index/scale/disp value for MEM operand 281 }; 282 283 /// size of this operand (in bytes). 284 uint8_t size; 285 286 /// How is this operand accessed? (READ, WRITE or READ|WRITE) 287 /// This field is combined of cs_ac_type. 288 /// NOTE: this field is irrelevant if engine is compiled in DIET mode. 289 uint8_t access; 290 291 /// AVX broadcast type, or 0 if irrelevant 292 x86_avx_bcast avx_bcast; 293 294 /// AVX zero opmask {z} 295 bool avx_zero_opmask; 296 } cs_x86_op; 297 298 typedef struct cs_x86_encoding { 299 /// ModR/M offset, or 0 when irrelevant 300 uint8_t modrm_offset; 301 302 /// Displacement offset, or 0 when irrelevant. 303 uint8_t disp_offset; 304 uint8_t disp_size; 305 306 /// Immediate offset, or 0 when irrelevant. 307 uint8_t imm_offset; 308 uint8_t imm_size; 309 } cs_x86_encoding; 310 311 /// Instruction structure 312 typedef struct cs_x86 { 313 /// Instruction prefix, which can be up to 4 bytes. 314 /// A prefix byte gets value 0 when irrelevant. 315 /// prefix[0] indicates REP/REPNE/LOCK prefix (See X86_PREFIX_REP/REPNE/LOCK above) 316 /// prefix[1] indicates segment override (irrelevant for x86_64): 317 /// See X86_PREFIX_CS/SS/DS/ES/FS/GS above. 318 /// prefix[2] indicates operand-size override (X86_PREFIX_OPSIZE) 319 /// prefix[3] indicates address-size override (X86_PREFIX_ADDRSIZE) 320 uint8_t prefix[4]; 321 322 /// Instruction opcode, which can be from 1 to 4 bytes in size. 323 /// This contains VEX opcode as well. 324 /// An trailing opcode byte gets value 0 when irrelevant. 325 uint8_t opcode[4]; 326 327 /// REX prefix: only a non-zero value is relevant for x86_64 328 uint8_t rex; 329 330 /// Address size, which can be overridden with above prefix[5]. 331 uint8_t addr_size; 332 333 /// ModR/M byte 334 uint8_t modrm; 335 336 /// SIB value, or 0 when irrelevant. 337 uint8_t sib; 338 339 /// Displacement value, valid if encoding.disp_offset != 0 340 int64_t disp; 341 342 /// SIB index register, or X86_REG_INVALID when irrelevant. 343 x86_reg sib_index; 344 /// SIB scale, only applicable if sib_index is valid. 345 int8_t sib_scale; 346 /// SIB base register, or X86_REG_INVALID when irrelevant. 347 x86_reg sib_base; 348 349 /// XOP Code Condition 350 x86_xop_cc xop_cc; 351 352 /// SSE Code Condition 353 x86_sse_cc sse_cc; 354 355 /// AVX Code Condition 356 x86_avx_cc avx_cc; 357 358 /// AVX Suppress all Exception 359 bool avx_sae; 360 361 /// AVX static rounding mode 362 x86_avx_rm avx_rm; 363 364 365 union { 366 /// EFLAGS updated by this instruction. 367 /// This can be formed from OR combination of X86_EFLAGS_* symbols in x86.h 368 uint64_t eflags; 369 /// FPU_FLAGS updated by this instruction. 370 /// This can be formed from OR combination of X86_FPU_FLAGS_* symbols in x86.h 371 uint64_t fpu_flags; 372 }; 373 374 /// Number of operands of this instruction, 375 /// or 0 when instruction has no operand. 376 uint8_t op_count; 377 378 cs_x86_op operands[8]; ///< operands for this instruction. 379 380 cs_x86_encoding encoding; ///< encoding information 381 } cs_x86; 382 383 /// X86 instructions 384 typedef enum x86_insn { 385 X86_INS_INVALID = 0, 386 387 X86_INS_AAA, 388 X86_INS_AAD, 389 X86_INS_AAM, 390 X86_INS_AAS, 391 X86_INS_FABS, 392 X86_INS_ADC, 393 X86_INS_ADCX, 394 X86_INS_ADD, 395 X86_INS_ADDPD, 396 X86_INS_ADDPS, 397 X86_INS_ADDSD, 398 X86_INS_ADDSS, 399 X86_INS_ADDSUBPD, 400 X86_INS_ADDSUBPS, 401 X86_INS_FADD, 402 X86_INS_FIADD, 403 X86_INS_FADDP, 404 X86_INS_ADOX, 405 X86_INS_AESDECLAST, 406 X86_INS_AESDEC, 407 X86_INS_AESENCLAST, 408 X86_INS_AESENC, 409 X86_INS_AESIMC, 410 X86_INS_AESKEYGENASSIST, 411 X86_INS_AND, 412 X86_INS_ANDN, 413 X86_INS_ANDNPD, 414 X86_INS_ANDNPS, 415 X86_INS_ANDPD, 416 X86_INS_ANDPS, 417 X86_INS_ARPL, 418 X86_INS_BEXTR, 419 X86_INS_BLCFILL, 420 X86_INS_BLCI, 421 X86_INS_BLCIC, 422 X86_INS_BLCMSK, 423 X86_INS_BLCS, 424 X86_INS_BLENDPD, 425 X86_INS_BLENDPS, 426 X86_INS_BLENDVPD, 427 X86_INS_BLENDVPS, 428 X86_INS_BLSFILL, 429 X86_INS_BLSI, 430 X86_INS_BLSIC, 431 X86_INS_BLSMSK, 432 X86_INS_BLSR, 433 X86_INS_BOUND, 434 X86_INS_BSF, 435 X86_INS_BSR, 436 X86_INS_BSWAP, 437 X86_INS_BT, 438 X86_INS_BTC, 439 X86_INS_BTR, 440 X86_INS_BTS, 441 X86_INS_BZHI, 442 X86_INS_CALL, 443 X86_INS_CBW, 444 X86_INS_CDQ, 445 X86_INS_CDQE, 446 X86_INS_FCHS, 447 X86_INS_CLAC, 448 X86_INS_CLC, 449 X86_INS_CLD, 450 X86_INS_CLFLUSH, 451 X86_INS_CLFLUSHOPT, 452 X86_INS_CLGI, 453 X86_INS_CLI, 454 X86_INS_CLTS, 455 X86_INS_CLWB, 456 X86_INS_CMC, 457 X86_INS_CMOVA, 458 X86_INS_CMOVAE, 459 X86_INS_CMOVB, 460 X86_INS_CMOVBE, 461 X86_INS_FCMOVBE, 462 X86_INS_FCMOVB, 463 X86_INS_CMOVE, 464 X86_INS_FCMOVE, 465 X86_INS_CMOVG, 466 X86_INS_CMOVGE, 467 X86_INS_CMOVL, 468 X86_INS_CMOVLE, 469 X86_INS_FCMOVNBE, 470 X86_INS_FCMOVNB, 471 X86_INS_CMOVNE, 472 X86_INS_FCMOVNE, 473 X86_INS_CMOVNO, 474 X86_INS_CMOVNP, 475 X86_INS_FCMOVNU, 476 X86_INS_CMOVNS, 477 X86_INS_CMOVO, 478 X86_INS_CMOVP, 479 X86_INS_FCMOVU, 480 X86_INS_CMOVS, 481 X86_INS_CMP, 482 X86_INS_CMPSB, 483 X86_INS_CMPSQ, 484 X86_INS_CMPSW, 485 X86_INS_CMPXCHG16B, 486 X86_INS_CMPXCHG, 487 X86_INS_CMPXCHG8B, 488 X86_INS_COMISD, 489 X86_INS_COMISS, 490 X86_INS_FCOMP, 491 X86_INS_FCOMIP, 492 X86_INS_FCOMI, 493 X86_INS_FCOM, 494 X86_INS_FCOS, 495 X86_INS_CPUID, 496 X86_INS_CQO, 497 X86_INS_CRC32, 498 X86_INS_CVTDQ2PD, 499 X86_INS_CVTDQ2PS, 500 X86_INS_CVTPD2DQ, 501 X86_INS_CVTPD2PS, 502 X86_INS_CVTPS2DQ, 503 X86_INS_CVTPS2PD, 504 X86_INS_CVTSD2SI, 505 X86_INS_CVTSD2SS, 506 X86_INS_CVTSI2SD, 507 X86_INS_CVTSI2SS, 508 X86_INS_CVTSS2SD, 509 X86_INS_CVTSS2SI, 510 X86_INS_CVTTPD2DQ, 511 X86_INS_CVTTPS2DQ, 512 X86_INS_CVTTSD2SI, 513 X86_INS_CVTTSS2SI, 514 X86_INS_CWD, 515 X86_INS_CWDE, 516 X86_INS_DAA, 517 X86_INS_DAS, 518 X86_INS_DATA16, 519 X86_INS_DEC, 520 X86_INS_DIV, 521 X86_INS_DIVPD, 522 X86_INS_DIVPS, 523 X86_INS_FDIVR, 524 X86_INS_FIDIVR, 525 X86_INS_FDIVRP, 526 X86_INS_DIVSD, 527 X86_INS_DIVSS, 528 X86_INS_FDIV, 529 X86_INS_FIDIV, 530 X86_INS_FDIVP, 531 X86_INS_DPPD, 532 X86_INS_DPPS, 533 X86_INS_RET, 534 X86_INS_ENCLS, 535 X86_INS_ENCLU, 536 X86_INS_ENTER, 537 X86_INS_EXTRACTPS, 538 X86_INS_EXTRQ, 539 X86_INS_F2XM1, 540 X86_INS_LCALL, 541 X86_INS_LJMP, 542 X86_INS_FBLD, 543 X86_INS_FBSTP, 544 X86_INS_FCOMPP, 545 X86_INS_FDECSTP, 546 X86_INS_FEMMS, 547 X86_INS_FFREE, 548 X86_INS_FICOM, 549 X86_INS_FICOMP, 550 X86_INS_FINCSTP, 551 X86_INS_FLDCW, 552 X86_INS_FLDENV, 553 X86_INS_FLDL2E, 554 X86_INS_FLDL2T, 555 X86_INS_FLDLG2, 556 X86_INS_FLDLN2, 557 X86_INS_FLDPI, 558 X86_INS_FNCLEX, 559 X86_INS_FNINIT, 560 X86_INS_FNOP, 561 X86_INS_FNSTCW, 562 X86_INS_FNSTSW, 563 X86_INS_FPATAN, 564 X86_INS_FPREM, 565 X86_INS_FPREM1, 566 X86_INS_FPTAN, 567 X86_INS_FFREEP, 568 X86_INS_FRNDINT, 569 X86_INS_FRSTOR, 570 X86_INS_FNSAVE, 571 X86_INS_FSCALE, 572 X86_INS_FSETPM, 573 X86_INS_FSINCOS, 574 X86_INS_FNSTENV, 575 X86_INS_FXAM, 576 X86_INS_FXRSTOR, 577 X86_INS_FXRSTOR64, 578 X86_INS_FXSAVE, 579 X86_INS_FXSAVE64, 580 X86_INS_FXTRACT, 581 X86_INS_FYL2X, 582 X86_INS_FYL2XP1, 583 X86_INS_MOVAPD, 584 X86_INS_MOVAPS, 585 X86_INS_ORPD, 586 X86_INS_ORPS, 587 X86_INS_VMOVAPD, 588 X86_INS_VMOVAPS, 589 X86_INS_XORPD, 590 X86_INS_XORPS, 591 X86_INS_GETSEC, 592 X86_INS_HADDPD, 593 X86_INS_HADDPS, 594 X86_INS_HLT, 595 X86_INS_HSUBPD, 596 X86_INS_HSUBPS, 597 X86_INS_IDIV, 598 X86_INS_FILD, 599 X86_INS_IMUL, 600 X86_INS_IN, 601 X86_INS_INC, 602 X86_INS_INSB, 603 X86_INS_INSERTPS, 604 X86_INS_INSERTQ, 605 X86_INS_INSD, 606 X86_INS_INSW, 607 X86_INS_INT, 608 X86_INS_INT1, 609 X86_INS_INT3, 610 X86_INS_INTO, 611 X86_INS_INVD, 612 X86_INS_INVEPT, 613 X86_INS_INVLPG, 614 X86_INS_INVLPGA, 615 X86_INS_INVPCID, 616 X86_INS_INVVPID, 617 X86_INS_IRET, 618 X86_INS_IRETD, 619 X86_INS_IRETQ, 620 X86_INS_FISTTP, 621 X86_INS_FIST, 622 X86_INS_FISTP, 623 X86_INS_UCOMISD, 624 X86_INS_UCOMISS, 625 X86_INS_VCOMISD, 626 X86_INS_VCOMISS, 627 X86_INS_VCVTSD2SS, 628 X86_INS_VCVTSI2SD, 629 X86_INS_VCVTSI2SS, 630 X86_INS_VCVTSS2SD, 631 X86_INS_VCVTTSD2SI, 632 X86_INS_VCVTTSD2USI, 633 X86_INS_VCVTTSS2SI, 634 X86_INS_VCVTTSS2USI, 635 X86_INS_VCVTUSI2SD, 636 X86_INS_VCVTUSI2SS, 637 X86_INS_VUCOMISD, 638 X86_INS_VUCOMISS, 639 X86_INS_JAE, 640 X86_INS_JA, 641 X86_INS_JBE, 642 X86_INS_JB, 643 X86_INS_JCXZ, 644 X86_INS_JECXZ, 645 X86_INS_JE, 646 X86_INS_JGE, 647 X86_INS_JG, 648 X86_INS_JLE, 649 X86_INS_JL, 650 X86_INS_JMP, 651 X86_INS_JNE, 652 X86_INS_JNO, 653 X86_INS_JNP, 654 X86_INS_JNS, 655 X86_INS_JO, 656 X86_INS_JP, 657 X86_INS_JRCXZ, 658 X86_INS_JS, 659 X86_INS_KANDB, 660 X86_INS_KANDD, 661 X86_INS_KANDNB, 662 X86_INS_KANDND, 663 X86_INS_KANDNQ, 664 X86_INS_KANDNW, 665 X86_INS_KANDQ, 666 X86_INS_KANDW, 667 X86_INS_KMOVB, 668 X86_INS_KMOVD, 669 X86_INS_KMOVQ, 670 X86_INS_KMOVW, 671 X86_INS_KNOTB, 672 X86_INS_KNOTD, 673 X86_INS_KNOTQ, 674 X86_INS_KNOTW, 675 X86_INS_KORB, 676 X86_INS_KORD, 677 X86_INS_KORQ, 678 X86_INS_KORTESTB, 679 X86_INS_KORTESTD, 680 X86_INS_KORTESTQ, 681 X86_INS_KORTESTW, 682 X86_INS_KORW, 683 X86_INS_KSHIFTLB, 684 X86_INS_KSHIFTLD, 685 X86_INS_KSHIFTLQ, 686 X86_INS_KSHIFTLW, 687 X86_INS_KSHIFTRB, 688 X86_INS_KSHIFTRD, 689 X86_INS_KSHIFTRQ, 690 X86_INS_KSHIFTRW, 691 X86_INS_KUNPCKBW, 692 X86_INS_KXNORB, 693 X86_INS_KXNORD, 694 X86_INS_KXNORQ, 695 X86_INS_KXNORW, 696 X86_INS_KXORB, 697 X86_INS_KXORD, 698 X86_INS_KXORQ, 699 X86_INS_KXORW, 700 X86_INS_LAHF, 701 X86_INS_LAR, 702 X86_INS_LDDQU, 703 X86_INS_LDMXCSR, 704 X86_INS_LDS, 705 X86_INS_FLDZ, 706 X86_INS_FLD1, 707 X86_INS_FLD, 708 X86_INS_LEA, 709 X86_INS_LEAVE, 710 X86_INS_LES, 711 X86_INS_LFENCE, 712 X86_INS_LFS, 713 X86_INS_LGDT, 714 X86_INS_LGS, 715 X86_INS_LIDT, 716 X86_INS_LLDT, 717 X86_INS_LMSW, 718 X86_INS_OR, 719 X86_INS_SUB, 720 X86_INS_XOR, 721 X86_INS_LODSB, 722 X86_INS_LODSD, 723 X86_INS_LODSQ, 724 X86_INS_LODSW, 725 X86_INS_LOOP, 726 X86_INS_LOOPE, 727 X86_INS_LOOPNE, 728 X86_INS_RETF, 729 X86_INS_RETFQ, 730 X86_INS_LSL, 731 X86_INS_LSS, 732 X86_INS_LTR, 733 X86_INS_XADD, 734 X86_INS_LZCNT, 735 X86_INS_MASKMOVDQU, 736 X86_INS_MAXPD, 737 X86_INS_MAXPS, 738 X86_INS_MAXSD, 739 X86_INS_MAXSS, 740 X86_INS_MFENCE, 741 X86_INS_MINPD, 742 X86_INS_MINPS, 743 X86_INS_MINSD, 744 X86_INS_MINSS, 745 X86_INS_CVTPD2PI, 746 X86_INS_CVTPI2PD, 747 X86_INS_CVTPI2PS, 748 X86_INS_CVTPS2PI, 749 X86_INS_CVTTPD2PI, 750 X86_INS_CVTTPS2PI, 751 X86_INS_EMMS, 752 X86_INS_MASKMOVQ, 753 X86_INS_MOVD, 754 X86_INS_MOVDQ2Q, 755 X86_INS_MOVNTQ, 756 X86_INS_MOVQ2DQ, 757 X86_INS_MOVQ, 758 X86_INS_PABSB, 759 X86_INS_PABSD, 760 X86_INS_PABSW, 761 X86_INS_PACKSSDW, 762 X86_INS_PACKSSWB, 763 X86_INS_PACKUSWB, 764 X86_INS_PADDB, 765 X86_INS_PADDD, 766 X86_INS_PADDQ, 767 X86_INS_PADDSB, 768 X86_INS_PADDSW, 769 X86_INS_PADDUSB, 770 X86_INS_PADDUSW, 771 X86_INS_PADDW, 772 X86_INS_PALIGNR, 773 X86_INS_PANDN, 774 X86_INS_PAND, 775 X86_INS_PAVGB, 776 X86_INS_PAVGW, 777 X86_INS_PCMPEQB, 778 X86_INS_PCMPEQD, 779 X86_INS_PCMPEQW, 780 X86_INS_PCMPGTB, 781 X86_INS_PCMPGTD, 782 X86_INS_PCMPGTW, 783 X86_INS_PEXTRW, 784 X86_INS_PHADDSW, 785 X86_INS_PHADDW, 786 X86_INS_PHADDD, 787 X86_INS_PHSUBD, 788 X86_INS_PHSUBSW, 789 X86_INS_PHSUBW, 790 X86_INS_PINSRW, 791 X86_INS_PMADDUBSW, 792 X86_INS_PMADDWD, 793 X86_INS_PMAXSW, 794 X86_INS_PMAXUB, 795 X86_INS_PMINSW, 796 X86_INS_PMINUB, 797 X86_INS_PMOVMSKB, 798 X86_INS_PMULHRSW, 799 X86_INS_PMULHUW, 800 X86_INS_PMULHW, 801 X86_INS_PMULLW, 802 X86_INS_PMULUDQ, 803 X86_INS_POR, 804 X86_INS_PSADBW, 805 X86_INS_PSHUFB, 806 X86_INS_PSHUFW, 807 X86_INS_PSIGNB, 808 X86_INS_PSIGND, 809 X86_INS_PSIGNW, 810 X86_INS_PSLLD, 811 X86_INS_PSLLQ, 812 X86_INS_PSLLW, 813 X86_INS_PSRAD, 814 X86_INS_PSRAW, 815 X86_INS_PSRLD, 816 X86_INS_PSRLQ, 817 X86_INS_PSRLW, 818 X86_INS_PSUBB, 819 X86_INS_PSUBD, 820 X86_INS_PSUBQ, 821 X86_INS_PSUBSB, 822 X86_INS_PSUBSW, 823 X86_INS_PSUBUSB, 824 X86_INS_PSUBUSW, 825 X86_INS_PSUBW, 826 X86_INS_PUNPCKHBW, 827 X86_INS_PUNPCKHDQ, 828 X86_INS_PUNPCKHWD, 829 X86_INS_PUNPCKLBW, 830 X86_INS_PUNPCKLDQ, 831 X86_INS_PUNPCKLWD, 832 X86_INS_PXOR, 833 X86_INS_MONITOR, 834 X86_INS_MONTMUL, 835 X86_INS_MOV, 836 X86_INS_MOVABS, 837 X86_INS_MOVBE, 838 X86_INS_MOVDDUP, 839 X86_INS_MOVDQA, 840 X86_INS_MOVDQU, 841 X86_INS_MOVHLPS, 842 X86_INS_MOVHPD, 843 X86_INS_MOVHPS, 844 X86_INS_MOVLHPS, 845 X86_INS_MOVLPD, 846 X86_INS_MOVLPS, 847 X86_INS_MOVMSKPD, 848 X86_INS_MOVMSKPS, 849 X86_INS_MOVNTDQA, 850 X86_INS_MOVNTDQ, 851 X86_INS_MOVNTI, 852 X86_INS_MOVNTPD, 853 X86_INS_MOVNTPS, 854 X86_INS_MOVNTSD, 855 X86_INS_MOVNTSS, 856 X86_INS_MOVSB, 857 X86_INS_MOVSD, 858 X86_INS_MOVSHDUP, 859 X86_INS_MOVSLDUP, 860 X86_INS_MOVSQ, 861 X86_INS_MOVSS, 862 X86_INS_MOVSW, 863 X86_INS_MOVSX, 864 X86_INS_MOVSXD, 865 X86_INS_MOVUPD, 866 X86_INS_MOVUPS, 867 X86_INS_MOVZX, 868 X86_INS_MPSADBW, 869 X86_INS_MUL, 870 X86_INS_MULPD, 871 X86_INS_MULPS, 872 X86_INS_MULSD, 873 X86_INS_MULSS, 874 X86_INS_MULX, 875 X86_INS_FMUL, 876 X86_INS_FIMUL, 877 X86_INS_FMULP, 878 X86_INS_MWAIT, 879 X86_INS_NEG, 880 X86_INS_NOP, 881 X86_INS_NOT, 882 X86_INS_OUT, 883 X86_INS_OUTSB, 884 X86_INS_OUTSD, 885 X86_INS_OUTSW, 886 X86_INS_PACKUSDW, 887 X86_INS_PAUSE, 888 X86_INS_PAVGUSB, 889 X86_INS_PBLENDVB, 890 X86_INS_PBLENDW, 891 X86_INS_PCLMULQDQ, 892 X86_INS_PCMPEQQ, 893 X86_INS_PCMPESTRI, 894 X86_INS_PCMPESTRM, 895 X86_INS_PCMPGTQ, 896 X86_INS_PCMPISTRI, 897 X86_INS_PCMPISTRM, 898 X86_INS_PCOMMIT, 899 X86_INS_PDEP, 900 X86_INS_PEXT, 901 X86_INS_PEXTRB, 902 X86_INS_PEXTRD, 903 X86_INS_PEXTRQ, 904 X86_INS_PF2ID, 905 X86_INS_PF2IW, 906 X86_INS_PFACC, 907 X86_INS_PFADD, 908 X86_INS_PFCMPEQ, 909 X86_INS_PFCMPGE, 910 X86_INS_PFCMPGT, 911 X86_INS_PFMAX, 912 X86_INS_PFMIN, 913 X86_INS_PFMUL, 914 X86_INS_PFNACC, 915 X86_INS_PFPNACC, 916 X86_INS_PFRCPIT1, 917 X86_INS_PFRCPIT2, 918 X86_INS_PFRCP, 919 X86_INS_PFRSQIT1, 920 X86_INS_PFRSQRT, 921 X86_INS_PFSUBR, 922 X86_INS_PFSUB, 923 X86_INS_PHMINPOSUW, 924 X86_INS_PI2FD, 925 X86_INS_PI2FW, 926 X86_INS_PINSRB, 927 X86_INS_PINSRD, 928 X86_INS_PINSRQ, 929 X86_INS_PMAXSB, 930 X86_INS_PMAXSD, 931 X86_INS_PMAXUD, 932 X86_INS_PMAXUW, 933 X86_INS_PMINSB, 934 X86_INS_PMINSD, 935 X86_INS_PMINUD, 936 X86_INS_PMINUW, 937 X86_INS_PMOVSXBD, 938 X86_INS_PMOVSXBQ, 939 X86_INS_PMOVSXBW, 940 X86_INS_PMOVSXDQ, 941 X86_INS_PMOVSXWD, 942 X86_INS_PMOVSXWQ, 943 X86_INS_PMOVZXBD, 944 X86_INS_PMOVZXBQ, 945 X86_INS_PMOVZXBW, 946 X86_INS_PMOVZXDQ, 947 X86_INS_PMOVZXWD, 948 X86_INS_PMOVZXWQ, 949 X86_INS_PMULDQ, 950 X86_INS_PMULHRW, 951 X86_INS_PMULLD, 952 X86_INS_POP, 953 X86_INS_POPAW, 954 X86_INS_POPAL, 955 X86_INS_POPCNT, 956 X86_INS_POPF, 957 X86_INS_POPFD, 958 X86_INS_POPFQ, 959 X86_INS_PREFETCH, 960 X86_INS_PREFETCHNTA, 961 X86_INS_PREFETCHT0, 962 X86_INS_PREFETCHT1, 963 X86_INS_PREFETCHT2, 964 X86_INS_PREFETCHW, 965 X86_INS_PSHUFD, 966 X86_INS_PSHUFHW, 967 X86_INS_PSHUFLW, 968 X86_INS_PSLLDQ, 969 X86_INS_PSRLDQ, 970 X86_INS_PSWAPD, 971 X86_INS_PTEST, 972 X86_INS_PUNPCKHQDQ, 973 X86_INS_PUNPCKLQDQ, 974 X86_INS_PUSH, 975 X86_INS_PUSHAW, 976 X86_INS_PUSHAL, 977 X86_INS_PUSHF, 978 X86_INS_PUSHFD, 979 X86_INS_PUSHFQ, 980 X86_INS_RCL, 981 X86_INS_RCPPS, 982 X86_INS_RCPSS, 983 X86_INS_RCR, 984 X86_INS_RDFSBASE, 985 X86_INS_RDGSBASE, 986 X86_INS_RDMSR, 987 X86_INS_RDPMC, 988 X86_INS_RDRAND, 989 X86_INS_RDSEED, 990 X86_INS_RDTSC, 991 X86_INS_RDTSCP, 992 X86_INS_ROL, 993 X86_INS_ROR, 994 X86_INS_RORX, 995 X86_INS_ROUNDPD, 996 X86_INS_ROUNDPS, 997 X86_INS_ROUNDSD, 998 X86_INS_ROUNDSS, 999 X86_INS_RSM, 1000 X86_INS_RSQRTPS, 1001 X86_INS_RSQRTSS, 1002 X86_INS_SAHF, 1003 X86_INS_SAL, 1004 X86_INS_SALC, 1005 X86_INS_SAR, 1006 X86_INS_SARX, 1007 X86_INS_SBB, 1008 X86_INS_SCASB, 1009 X86_INS_SCASD, 1010 X86_INS_SCASQ, 1011 X86_INS_SCASW, 1012 X86_INS_SETAE, 1013 X86_INS_SETA, 1014 X86_INS_SETBE, 1015 X86_INS_SETB, 1016 X86_INS_SETE, 1017 X86_INS_SETGE, 1018 X86_INS_SETG, 1019 X86_INS_SETLE, 1020 X86_INS_SETL, 1021 X86_INS_SETNE, 1022 X86_INS_SETNO, 1023 X86_INS_SETNP, 1024 X86_INS_SETNS, 1025 X86_INS_SETO, 1026 X86_INS_SETP, 1027 X86_INS_SETS, 1028 X86_INS_SFENCE, 1029 X86_INS_SGDT, 1030 X86_INS_SHA1MSG1, 1031 X86_INS_SHA1MSG2, 1032 X86_INS_SHA1NEXTE, 1033 X86_INS_SHA1RNDS4, 1034 X86_INS_SHA256MSG1, 1035 X86_INS_SHA256MSG2, 1036 X86_INS_SHA256RNDS2, 1037 X86_INS_SHL, 1038 X86_INS_SHLD, 1039 X86_INS_SHLX, 1040 X86_INS_SHR, 1041 X86_INS_SHRD, 1042 X86_INS_SHRX, 1043 X86_INS_SHUFPD, 1044 X86_INS_SHUFPS, 1045 X86_INS_SIDT, 1046 X86_INS_FSIN, 1047 X86_INS_SKINIT, 1048 X86_INS_SLDT, 1049 X86_INS_SMSW, 1050 X86_INS_SQRTPD, 1051 X86_INS_SQRTPS, 1052 X86_INS_SQRTSD, 1053 X86_INS_SQRTSS, 1054 X86_INS_FSQRT, 1055 X86_INS_STAC, 1056 X86_INS_STC, 1057 X86_INS_STD, 1058 X86_INS_STGI, 1059 X86_INS_STI, 1060 X86_INS_STMXCSR, 1061 X86_INS_STOSB, 1062 X86_INS_STOSD, 1063 X86_INS_STOSQ, 1064 X86_INS_STOSW, 1065 X86_INS_STR, 1066 X86_INS_FST, 1067 X86_INS_FSTP, 1068 X86_INS_FSTPNCE, 1069 X86_INS_FXCH, 1070 X86_INS_SUBPD, 1071 X86_INS_SUBPS, 1072 X86_INS_FSUBR, 1073 X86_INS_FISUBR, 1074 X86_INS_FSUBRP, 1075 X86_INS_SUBSD, 1076 X86_INS_SUBSS, 1077 X86_INS_FSUB, 1078 X86_INS_FISUB, 1079 X86_INS_FSUBP, 1080 X86_INS_SWAPGS, 1081 X86_INS_SYSCALL, 1082 X86_INS_SYSENTER, 1083 X86_INS_SYSEXIT, 1084 X86_INS_SYSRET, 1085 X86_INS_T1MSKC, 1086 X86_INS_TEST, 1087 X86_INS_UD2, 1088 X86_INS_FTST, 1089 X86_INS_TZCNT, 1090 X86_INS_TZMSK, 1091 X86_INS_FUCOMIP, 1092 X86_INS_FUCOMI, 1093 X86_INS_FUCOMPP, 1094 X86_INS_FUCOMP, 1095 X86_INS_FUCOM, 1096 X86_INS_UD2B, 1097 X86_INS_UNPCKHPD, 1098 X86_INS_UNPCKHPS, 1099 X86_INS_UNPCKLPD, 1100 X86_INS_UNPCKLPS, 1101 X86_INS_VADDPD, 1102 X86_INS_VADDPS, 1103 X86_INS_VADDSD, 1104 X86_INS_VADDSS, 1105 X86_INS_VADDSUBPD, 1106 X86_INS_VADDSUBPS, 1107 X86_INS_VAESDECLAST, 1108 X86_INS_VAESDEC, 1109 X86_INS_VAESENCLAST, 1110 X86_INS_VAESENC, 1111 X86_INS_VAESIMC, 1112 X86_INS_VAESKEYGENASSIST, 1113 X86_INS_VALIGND, 1114 X86_INS_VALIGNQ, 1115 X86_INS_VANDNPD, 1116 X86_INS_VANDNPS, 1117 X86_INS_VANDPD, 1118 X86_INS_VANDPS, 1119 X86_INS_VBLENDMPD, 1120 X86_INS_VBLENDMPS, 1121 X86_INS_VBLENDPD, 1122 X86_INS_VBLENDPS, 1123 X86_INS_VBLENDVPD, 1124 X86_INS_VBLENDVPS, 1125 X86_INS_VBROADCASTF128, 1126 X86_INS_VBROADCASTI32X4, 1127 X86_INS_VBROADCASTI64X4, 1128 X86_INS_VBROADCASTSD, 1129 X86_INS_VBROADCASTSS, 1130 X86_INS_VCOMPRESSPD, 1131 X86_INS_VCOMPRESSPS, 1132 X86_INS_VCVTDQ2PD, 1133 X86_INS_VCVTDQ2PS, 1134 X86_INS_VCVTPD2DQX, 1135 X86_INS_VCVTPD2DQ, 1136 X86_INS_VCVTPD2PSX, 1137 X86_INS_VCVTPD2PS, 1138 X86_INS_VCVTPD2UDQ, 1139 X86_INS_VCVTPH2PS, 1140 X86_INS_VCVTPS2DQ, 1141 X86_INS_VCVTPS2PD, 1142 X86_INS_VCVTPS2PH, 1143 X86_INS_VCVTPS2UDQ, 1144 X86_INS_VCVTSD2SI, 1145 X86_INS_VCVTSD2USI, 1146 X86_INS_VCVTSS2SI, 1147 X86_INS_VCVTSS2USI, 1148 X86_INS_VCVTTPD2DQX, 1149 X86_INS_VCVTTPD2DQ, 1150 X86_INS_VCVTTPD2UDQ, 1151 X86_INS_VCVTTPS2DQ, 1152 X86_INS_VCVTTPS2UDQ, 1153 X86_INS_VCVTUDQ2PD, 1154 X86_INS_VCVTUDQ2PS, 1155 X86_INS_VDIVPD, 1156 X86_INS_VDIVPS, 1157 X86_INS_VDIVSD, 1158 X86_INS_VDIVSS, 1159 X86_INS_VDPPD, 1160 X86_INS_VDPPS, 1161 X86_INS_VERR, 1162 X86_INS_VERW, 1163 X86_INS_VEXP2PD, 1164 X86_INS_VEXP2PS, 1165 X86_INS_VEXPANDPD, 1166 X86_INS_VEXPANDPS, 1167 X86_INS_VEXTRACTF128, 1168 X86_INS_VEXTRACTF32X4, 1169 X86_INS_VEXTRACTF64X4, 1170 X86_INS_VEXTRACTI128, 1171 X86_INS_VEXTRACTI32X4, 1172 X86_INS_VEXTRACTI64X4, 1173 X86_INS_VEXTRACTPS, 1174 X86_INS_VFMADD132PD, 1175 X86_INS_VFMADD132PS, 1176 X86_INS_VFMADDPD, 1177 X86_INS_VFMADD213PD, 1178 X86_INS_VFMADD231PD, 1179 X86_INS_VFMADDPS, 1180 X86_INS_VFMADD213PS, 1181 X86_INS_VFMADD231PS, 1182 X86_INS_VFMADDSD, 1183 X86_INS_VFMADD213SD, 1184 X86_INS_VFMADD132SD, 1185 X86_INS_VFMADD231SD, 1186 X86_INS_VFMADDSS, 1187 X86_INS_VFMADD213SS, 1188 X86_INS_VFMADD132SS, 1189 X86_INS_VFMADD231SS, 1190 X86_INS_VFMADDSUB132PD, 1191 X86_INS_VFMADDSUB132PS, 1192 X86_INS_VFMADDSUBPD, 1193 X86_INS_VFMADDSUB213PD, 1194 X86_INS_VFMADDSUB231PD, 1195 X86_INS_VFMADDSUBPS, 1196 X86_INS_VFMADDSUB213PS, 1197 X86_INS_VFMADDSUB231PS, 1198 X86_INS_VFMSUB132PD, 1199 X86_INS_VFMSUB132PS, 1200 X86_INS_VFMSUBADD132PD, 1201 X86_INS_VFMSUBADD132PS, 1202 X86_INS_VFMSUBADDPD, 1203 X86_INS_VFMSUBADD213PD, 1204 X86_INS_VFMSUBADD231PD, 1205 X86_INS_VFMSUBADDPS, 1206 X86_INS_VFMSUBADD213PS, 1207 X86_INS_VFMSUBADD231PS, 1208 X86_INS_VFMSUBPD, 1209 X86_INS_VFMSUB213PD, 1210 X86_INS_VFMSUB231PD, 1211 X86_INS_VFMSUBPS, 1212 X86_INS_VFMSUB213PS, 1213 X86_INS_VFMSUB231PS, 1214 X86_INS_VFMSUBSD, 1215 X86_INS_VFMSUB213SD, 1216 X86_INS_VFMSUB132SD, 1217 X86_INS_VFMSUB231SD, 1218 X86_INS_VFMSUBSS, 1219 X86_INS_VFMSUB213SS, 1220 X86_INS_VFMSUB132SS, 1221 X86_INS_VFMSUB231SS, 1222 X86_INS_VFNMADD132PD, 1223 X86_INS_VFNMADD132PS, 1224 X86_INS_VFNMADDPD, 1225 X86_INS_VFNMADD213PD, 1226 X86_INS_VFNMADD231PD, 1227 X86_INS_VFNMADDPS, 1228 X86_INS_VFNMADD213PS, 1229 X86_INS_VFNMADD231PS, 1230 X86_INS_VFNMADDSD, 1231 X86_INS_VFNMADD213SD, 1232 X86_INS_VFNMADD132SD, 1233 X86_INS_VFNMADD231SD, 1234 X86_INS_VFNMADDSS, 1235 X86_INS_VFNMADD213SS, 1236 X86_INS_VFNMADD132SS, 1237 X86_INS_VFNMADD231SS, 1238 X86_INS_VFNMSUB132PD, 1239 X86_INS_VFNMSUB132PS, 1240 X86_INS_VFNMSUBPD, 1241 X86_INS_VFNMSUB213PD, 1242 X86_INS_VFNMSUB231PD, 1243 X86_INS_VFNMSUBPS, 1244 X86_INS_VFNMSUB213PS, 1245 X86_INS_VFNMSUB231PS, 1246 X86_INS_VFNMSUBSD, 1247 X86_INS_VFNMSUB213SD, 1248 X86_INS_VFNMSUB132SD, 1249 X86_INS_VFNMSUB231SD, 1250 X86_INS_VFNMSUBSS, 1251 X86_INS_VFNMSUB213SS, 1252 X86_INS_VFNMSUB132SS, 1253 X86_INS_VFNMSUB231SS, 1254 X86_INS_VFRCZPD, 1255 X86_INS_VFRCZPS, 1256 X86_INS_VFRCZSD, 1257 X86_INS_VFRCZSS, 1258 X86_INS_VORPD, 1259 X86_INS_VORPS, 1260 X86_INS_VXORPD, 1261 X86_INS_VXORPS, 1262 X86_INS_VGATHERDPD, 1263 X86_INS_VGATHERDPS, 1264 X86_INS_VGATHERPF0DPD, 1265 X86_INS_VGATHERPF0DPS, 1266 X86_INS_VGATHERPF0QPD, 1267 X86_INS_VGATHERPF0QPS, 1268 X86_INS_VGATHERPF1DPD, 1269 X86_INS_VGATHERPF1DPS, 1270 X86_INS_VGATHERPF1QPD, 1271 X86_INS_VGATHERPF1QPS, 1272 X86_INS_VGATHERQPD, 1273 X86_INS_VGATHERQPS, 1274 X86_INS_VHADDPD, 1275 X86_INS_VHADDPS, 1276 X86_INS_VHSUBPD, 1277 X86_INS_VHSUBPS, 1278 X86_INS_VINSERTF128, 1279 X86_INS_VINSERTF32X4, 1280 X86_INS_VINSERTF32X8, 1281 X86_INS_VINSERTF64X2, 1282 X86_INS_VINSERTF64X4, 1283 X86_INS_VINSERTI128, 1284 X86_INS_VINSERTI32X4, 1285 X86_INS_VINSERTI32X8, 1286 X86_INS_VINSERTI64X2, 1287 X86_INS_VINSERTI64X4, 1288 X86_INS_VINSERTPS, 1289 X86_INS_VLDDQU, 1290 X86_INS_VLDMXCSR, 1291 X86_INS_VMASKMOVDQU, 1292 X86_INS_VMASKMOVPD, 1293 X86_INS_VMASKMOVPS, 1294 X86_INS_VMAXPD, 1295 X86_INS_VMAXPS, 1296 X86_INS_VMAXSD, 1297 X86_INS_VMAXSS, 1298 X86_INS_VMCALL, 1299 X86_INS_VMCLEAR, 1300 X86_INS_VMFUNC, 1301 X86_INS_VMINPD, 1302 X86_INS_VMINPS, 1303 X86_INS_VMINSD, 1304 X86_INS_VMINSS, 1305 X86_INS_VMLAUNCH, 1306 X86_INS_VMLOAD, 1307 X86_INS_VMMCALL, 1308 X86_INS_VMOVQ, 1309 X86_INS_VMOVDDUP, 1310 X86_INS_VMOVD, 1311 X86_INS_VMOVDQA32, 1312 X86_INS_VMOVDQA64, 1313 X86_INS_VMOVDQA, 1314 X86_INS_VMOVDQU16, 1315 X86_INS_VMOVDQU32, 1316 X86_INS_VMOVDQU64, 1317 X86_INS_VMOVDQU8, 1318 X86_INS_VMOVDQU, 1319 X86_INS_VMOVHLPS, 1320 X86_INS_VMOVHPD, 1321 X86_INS_VMOVHPS, 1322 X86_INS_VMOVLHPS, 1323 X86_INS_VMOVLPD, 1324 X86_INS_VMOVLPS, 1325 X86_INS_VMOVMSKPD, 1326 X86_INS_VMOVMSKPS, 1327 X86_INS_VMOVNTDQA, 1328 X86_INS_VMOVNTDQ, 1329 X86_INS_VMOVNTPD, 1330 X86_INS_VMOVNTPS, 1331 X86_INS_VMOVSD, 1332 X86_INS_VMOVSHDUP, 1333 X86_INS_VMOVSLDUP, 1334 X86_INS_VMOVSS, 1335 X86_INS_VMOVUPD, 1336 X86_INS_VMOVUPS, 1337 X86_INS_VMPSADBW, 1338 X86_INS_VMPTRLD, 1339 X86_INS_VMPTRST, 1340 X86_INS_VMREAD, 1341 X86_INS_VMRESUME, 1342 X86_INS_VMRUN, 1343 X86_INS_VMSAVE, 1344 X86_INS_VMULPD, 1345 X86_INS_VMULPS, 1346 X86_INS_VMULSD, 1347 X86_INS_VMULSS, 1348 X86_INS_VMWRITE, 1349 X86_INS_VMXOFF, 1350 X86_INS_VMXON, 1351 X86_INS_VPABSB, 1352 X86_INS_VPABSD, 1353 X86_INS_VPABSQ, 1354 X86_INS_VPABSW, 1355 X86_INS_VPACKSSDW, 1356 X86_INS_VPACKSSWB, 1357 X86_INS_VPACKUSDW, 1358 X86_INS_VPACKUSWB, 1359 X86_INS_VPADDB, 1360 X86_INS_VPADDD, 1361 X86_INS_VPADDQ, 1362 X86_INS_VPADDSB, 1363 X86_INS_VPADDSW, 1364 X86_INS_VPADDUSB, 1365 X86_INS_VPADDUSW, 1366 X86_INS_VPADDW, 1367 X86_INS_VPALIGNR, 1368 X86_INS_VPANDD, 1369 X86_INS_VPANDND, 1370 X86_INS_VPANDNQ, 1371 X86_INS_VPANDN, 1372 X86_INS_VPANDQ, 1373 X86_INS_VPAND, 1374 X86_INS_VPAVGB, 1375 X86_INS_VPAVGW, 1376 X86_INS_VPBLENDD, 1377 X86_INS_VPBLENDMB, 1378 X86_INS_VPBLENDMD, 1379 X86_INS_VPBLENDMQ, 1380 X86_INS_VPBLENDMW, 1381 X86_INS_VPBLENDVB, 1382 X86_INS_VPBLENDW, 1383 X86_INS_VPBROADCASTB, 1384 X86_INS_VPBROADCASTD, 1385 X86_INS_VPBROADCASTMB2Q, 1386 X86_INS_VPBROADCASTMW2D, 1387 X86_INS_VPBROADCASTQ, 1388 X86_INS_VPBROADCASTW, 1389 X86_INS_VPCLMULQDQ, 1390 X86_INS_VPCMOV, 1391 X86_INS_VPCMPB, 1392 X86_INS_VPCMPD, 1393 X86_INS_VPCMPEQB, 1394 X86_INS_VPCMPEQD, 1395 X86_INS_VPCMPEQQ, 1396 X86_INS_VPCMPEQW, 1397 X86_INS_VPCMPESTRI, 1398 X86_INS_VPCMPESTRM, 1399 X86_INS_VPCMPGTB, 1400 X86_INS_VPCMPGTD, 1401 X86_INS_VPCMPGTQ, 1402 X86_INS_VPCMPGTW, 1403 X86_INS_VPCMPISTRI, 1404 X86_INS_VPCMPISTRM, 1405 X86_INS_VPCMPQ, 1406 X86_INS_VPCMPUB, 1407 X86_INS_VPCMPUD, 1408 X86_INS_VPCMPUQ, 1409 X86_INS_VPCMPUW, 1410 X86_INS_VPCMPW, 1411 X86_INS_VPCOMB, 1412 X86_INS_VPCOMD, 1413 X86_INS_VPCOMPRESSD, 1414 X86_INS_VPCOMPRESSQ, 1415 X86_INS_VPCOMQ, 1416 X86_INS_VPCOMUB, 1417 X86_INS_VPCOMUD, 1418 X86_INS_VPCOMUQ, 1419 X86_INS_VPCOMUW, 1420 X86_INS_VPCOMW, 1421 X86_INS_VPCONFLICTD, 1422 X86_INS_VPCONFLICTQ, 1423 X86_INS_VPERM2F128, 1424 X86_INS_VPERM2I128, 1425 X86_INS_VPERMD, 1426 X86_INS_VPERMI2D, 1427 X86_INS_VPERMI2PD, 1428 X86_INS_VPERMI2PS, 1429 X86_INS_VPERMI2Q, 1430 X86_INS_VPERMIL2PD, 1431 X86_INS_VPERMIL2PS, 1432 X86_INS_VPERMILPD, 1433 X86_INS_VPERMILPS, 1434 X86_INS_VPERMPD, 1435 X86_INS_VPERMPS, 1436 X86_INS_VPERMQ, 1437 X86_INS_VPERMT2D, 1438 X86_INS_VPERMT2PD, 1439 X86_INS_VPERMT2PS, 1440 X86_INS_VPERMT2Q, 1441 X86_INS_VPEXPANDD, 1442 X86_INS_VPEXPANDQ, 1443 X86_INS_VPEXTRB, 1444 X86_INS_VPEXTRD, 1445 X86_INS_VPEXTRQ, 1446 X86_INS_VPEXTRW, 1447 X86_INS_VPGATHERDD, 1448 X86_INS_VPGATHERDQ, 1449 X86_INS_VPGATHERQD, 1450 X86_INS_VPGATHERQQ, 1451 X86_INS_VPHADDBD, 1452 X86_INS_VPHADDBQ, 1453 X86_INS_VPHADDBW, 1454 X86_INS_VPHADDDQ, 1455 X86_INS_VPHADDD, 1456 X86_INS_VPHADDSW, 1457 X86_INS_VPHADDUBD, 1458 X86_INS_VPHADDUBQ, 1459 X86_INS_VPHADDUBW, 1460 X86_INS_VPHADDUDQ, 1461 X86_INS_VPHADDUWD, 1462 X86_INS_VPHADDUWQ, 1463 X86_INS_VPHADDWD, 1464 X86_INS_VPHADDWQ, 1465 X86_INS_VPHADDW, 1466 X86_INS_VPHMINPOSUW, 1467 X86_INS_VPHSUBBW, 1468 X86_INS_VPHSUBDQ, 1469 X86_INS_VPHSUBD, 1470 X86_INS_VPHSUBSW, 1471 X86_INS_VPHSUBWD, 1472 X86_INS_VPHSUBW, 1473 X86_INS_VPINSRB, 1474 X86_INS_VPINSRD, 1475 X86_INS_VPINSRQ, 1476 X86_INS_VPINSRW, 1477 X86_INS_VPLZCNTD, 1478 X86_INS_VPLZCNTQ, 1479 X86_INS_VPMACSDD, 1480 X86_INS_VPMACSDQH, 1481 X86_INS_VPMACSDQL, 1482 X86_INS_VPMACSSDD, 1483 X86_INS_VPMACSSDQH, 1484 X86_INS_VPMACSSDQL, 1485 X86_INS_VPMACSSWD, 1486 X86_INS_VPMACSSWW, 1487 X86_INS_VPMACSWD, 1488 X86_INS_VPMACSWW, 1489 X86_INS_VPMADCSSWD, 1490 X86_INS_VPMADCSWD, 1491 X86_INS_VPMADDUBSW, 1492 X86_INS_VPMADDWD, 1493 X86_INS_VPMASKMOVD, 1494 X86_INS_VPMASKMOVQ, 1495 X86_INS_VPMAXSB, 1496 X86_INS_VPMAXSD, 1497 X86_INS_VPMAXSQ, 1498 X86_INS_VPMAXSW, 1499 X86_INS_VPMAXUB, 1500 X86_INS_VPMAXUD, 1501 X86_INS_VPMAXUQ, 1502 X86_INS_VPMAXUW, 1503 X86_INS_VPMINSB, 1504 X86_INS_VPMINSD, 1505 X86_INS_VPMINSQ, 1506 X86_INS_VPMINSW, 1507 X86_INS_VPMINUB, 1508 X86_INS_VPMINUD, 1509 X86_INS_VPMINUQ, 1510 X86_INS_VPMINUW, 1511 X86_INS_VPMOVDB, 1512 X86_INS_VPMOVDW, 1513 X86_INS_VPMOVM2B, 1514 X86_INS_VPMOVM2D, 1515 X86_INS_VPMOVM2Q, 1516 X86_INS_VPMOVM2W, 1517 X86_INS_VPMOVMSKB, 1518 X86_INS_VPMOVQB, 1519 X86_INS_VPMOVQD, 1520 X86_INS_VPMOVQW, 1521 X86_INS_VPMOVSDB, 1522 X86_INS_VPMOVSDW, 1523 X86_INS_VPMOVSQB, 1524 X86_INS_VPMOVSQD, 1525 X86_INS_VPMOVSQW, 1526 X86_INS_VPMOVSXBD, 1527 X86_INS_VPMOVSXBQ, 1528 X86_INS_VPMOVSXBW, 1529 X86_INS_VPMOVSXDQ, 1530 X86_INS_VPMOVSXWD, 1531 X86_INS_VPMOVSXWQ, 1532 X86_INS_VPMOVUSDB, 1533 X86_INS_VPMOVUSDW, 1534 X86_INS_VPMOVUSQB, 1535 X86_INS_VPMOVUSQD, 1536 X86_INS_VPMOVUSQW, 1537 X86_INS_VPMOVZXBD, 1538 X86_INS_VPMOVZXBQ, 1539 X86_INS_VPMOVZXBW, 1540 X86_INS_VPMOVZXDQ, 1541 X86_INS_VPMOVZXWD, 1542 X86_INS_VPMOVZXWQ, 1543 X86_INS_VPMULDQ, 1544 X86_INS_VPMULHRSW, 1545 X86_INS_VPMULHUW, 1546 X86_INS_VPMULHW, 1547 X86_INS_VPMULLD, 1548 X86_INS_VPMULLQ, 1549 X86_INS_VPMULLW, 1550 X86_INS_VPMULUDQ, 1551 X86_INS_VPORD, 1552 X86_INS_VPORQ, 1553 X86_INS_VPOR, 1554 X86_INS_VPPERM, 1555 X86_INS_VPROTB, 1556 X86_INS_VPROTD, 1557 X86_INS_VPROTQ, 1558 X86_INS_VPROTW, 1559 X86_INS_VPSADBW, 1560 X86_INS_VPSCATTERDD, 1561 X86_INS_VPSCATTERDQ, 1562 X86_INS_VPSCATTERQD, 1563 X86_INS_VPSCATTERQQ, 1564 X86_INS_VPSHAB, 1565 X86_INS_VPSHAD, 1566 X86_INS_VPSHAQ, 1567 X86_INS_VPSHAW, 1568 X86_INS_VPSHLB, 1569 X86_INS_VPSHLD, 1570 X86_INS_VPSHLQ, 1571 X86_INS_VPSHLW, 1572 X86_INS_VPSHUFB, 1573 X86_INS_VPSHUFD, 1574 X86_INS_VPSHUFHW, 1575 X86_INS_VPSHUFLW, 1576 X86_INS_VPSIGNB, 1577 X86_INS_VPSIGND, 1578 X86_INS_VPSIGNW, 1579 X86_INS_VPSLLDQ, 1580 X86_INS_VPSLLD, 1581 X86_INS_VPSLLQ, 1582 X86_INS_VPSLLVD, 1583 X86_INS_VPSLLVQ, 1584 X86_INS_VPSLLW, 1585 X86_INS_VPSRAD, 1586 X86_INS_VPSRAQ, 1587 X86_INS_VPSRAVD, 1588 X86_INS_VPSRAVQ, 1589 X86_INS_VPSRAW, 1590 X86_INS_VPSRLDQ, 1591 X86_INS_VPSRLD, 1592 X86_INS_VPSRLQ, 1593 X86_INS_VPSRLVD, 1594 X86_INS_VPSRLVQ, 1595 X86_INS_VPSRLW, 1596 X86_INS_VPSUBB, 1597 X86_INS_VPSUBD, 1598 X86_INS_VPSUBQ, 1599 X86_INS_VPSUBSB, 1600 X86_INS_VPSUBSW, 1601 X86_INS_VPSUBUSB, 1602 X86_INS_VPSUBUSW, 1603 X86_INS_VPSUBW, 1604 X86_INS_VPTESTMD, 1605 X86_INS_VPTESTMQ, 1606 X86_INS_VPTESTNMD, 1607 X86_INS_VPTESTNMQ, 1608 X86_INS_VPTEST, 1609 X86_INS_VPUNPCKHBW, 1610 X86_INS_VPUNPCKHDQ, 1611 X86_INS_VPUNPCKHQDQ, 1612 X86_INS_VPUNPCKHWD, 1613 X86_INS_VPUNPCKLBW, 1614 X86_INS_VPUNPCKLDQ, 1615 X86_INS_VPUNPCKLQDQ, 1616 X86_INS_VPUNPCKLWD, 1617 X86_INS_VPXORD, 1618 X86_INS_VPXORQ, 1619 X86_INS_VPXOR, 1620 X86_INS_VRCP14PD, 1621 X86_INS_VRCP14PS, 1622 X86_INS_VRCP14SD, 1623 X86_INS_VRCP14SS, 1624 X86_INS_VRCP28PD, 1625 X86_INS_VRCP28PS, 1626 X86_INS_VRCP28SD, 1627 X86_INS_VRCP28SS, 1628 X86_INS_VRCPPS, 1629 X86_INS_VRCPSS, 1630 X86_INS_VRNDSCALEPD, 1631 X86_INS_VRNDSCALEPS, 1632 X86_INS_VRNDSCALESD, 1633 X86_INS_VRNDSCALESS, 1634 X86_INS_VROUNDPD, 1635 X86_INS_VROUNDPS, 1636 X86_INS_VROUNDSD, 1637 X86_INS_VROUNDSS, 1638 X86_INS_VRSQRT14PD, 1639 X86_INS_VRSQRT14PS, 1640 X86_INS_VRSQRT14SD, 1641 X86_INS_VRSQRT14SS, 1642 X86_INS_VRSQRT28PD, 1643 X86_INS_VRSQRT28PS, 1644 X86_INS_VRSQRT28SD, 1645 X86_INS_VRSQRT28SS, 1646 X86_INS_VRSQRTPS, 1647 X86_INS_VRSQRTSS, 1648 X86_INS_VSCATTERDPD, 1649 X86_INS_VSCATTERDPS, 1650 X86_INS_VSCATTERPF0DPD, 1651 X86_INS_VSCATTERPF0DPS, 1652 X86_INS_VSCATTERPF0QPD, 1653 X86_INS_VSCATTERPF0QPS, 1654 X86_INS_VSCATTERPF1DPD, 1655 X86_INS_VSCATTERPF1DPS, 1656 X86_INS_VSCATTERPF1QPD, 1657 X86_INS_VSCATTERPF1QPS, 1658 X86_INS_VSCATTERQPD, 1659 X86_INS_VSCATTERQPS, 1660 X86_INS_VSHUFPD, 1661 X86_INS_VSHUFPS, 1662 X86_INS_VSQRTPD, 1663 X86_INS_VSQRTPS, 1664 X86_INS_VSQRTSD, 1665 X86_INS_VSQRTSS, 1666 X86_INS_VSTMXCSR, 1667 X86_INS_VSUBPD, 1668 X86_INS_VSUBPS, 1669 X86_INS_VSUBSD, 1670 X86_INS_VSUBSS, 1671 X86_INS_VTESTPD, 1672 X86_INS_VTESTPS, 1673 X86_INS_VUNPCKHPD, 1674 X86_INS_VUNPCKHPS, 1675 X86_INS_VUNPCKLPD, 1676 X86_INS_VUNPCKLPS, 1677 X86_INS_VZEROALL, 1678 X86_INS_VZEROUPPER, 1679 X86_INS_WAIT, 1680 X86_INS_WBINVD, 1681 X86_INS_WRFSBASE, 1682 X86_INS_WRGSBASE, 1683 X86_INS_WRMSR, 1684 X86_INS_XABORT, 1685 X86_INS_XACQUIRE, 1686 X86_INS_XBEGIN, 1687 X86_INS_XCHG, 1688 X86_INS_XCRYPTCBC, 1689 X86_INS_XCRYPTCFB, 1690 X86_INS_XCRYPTCTR, 1691 X86_INS_XCRYPTECB, 1692 X86_INS_XCRYPTOFB, 1693 X86_INS_XEND, 1694 X86_INS_XGETBV, 1695 X86_INS_XLATB, 1696 X86_INS_XRELEASE, 1697 X86_INS_XRSTOR, 1698 X86_INS_XRSTOR64, 1699 X86_INS_XRSTORS, 1700 X86_INS_XRSTORS64, 1701 X86_INS_XSAVE, 1702 X86_INS_XSAVE64, 1703 X86_INS_XSAVEC, 1704 X86_INS_XSAVEC64, 1705 X86_INS_XSAVEOPT, 1706 X86_INS_XSAVEOPT64, 1707 X86_INS_XSAVES, 1708 X86_INS_XSAVES64, 1709 X86_INS_XSETBV, 1710 X86_INS_XSHA1, 1711 X86_INS_XSHA256, 1712 X86_INS_XSTORE, 1713 X86_INS_XTEST, 1714 X86_INS_FDISI8087_NOP, 1715 X86_INS_FENI8087_NOP, 1716 1717 // pseudo instructions 1718 X86_INS_CMPSS, 1719 X86_INS_CMPEQSS, 1720 X86_INS_CMPLTSS, 1721 X86_INS_CMPLESS, 1722 X86_INS_CMPUNORDSS, 1723 X86_INS_CMPNEQSS, 1724 X86_INS_CMPNLTSS, 1725 X86_INS_CMPNLESS, 1726 X86_INS_CMPORDSS, 1727 1728 X86_INS_CMPSD, 1729 X86_INS_CMPEQSD, 1730 X86_INS_CMPLTSD, 1731 X86_INS_CMPLESD, 1732 X86_INS_CMPUNORDSD, 1733 X86_INS_CMPNEQSD, 1734 X86_INS_CMPNLTSD, 1735 X86_INS_CMPNLESD, 1736 X86_INS_CMPORDSD, 1737 1738 X86_INS_CMPPS, 1739 X86_INS_CMPEQPS, 1740 X86_INS_CMPLTPS, 1741 X86_INS_CMPLEPS, 1742 X86_INS_CMPUNORDPS, 1743 X86_INS_CMPNEQPS, 1744 X86_INS_CMPNLTPS, 1745 X86_INS_CMPNLEPS, 1746 X86_INS_CMPORDPS, 1747 1748 X86_INS_CMPPD, 1749 X86_INS_CMPEQPD, 1750 X86_INS_CMPLTPD, 1751 X86_INS_CMPLEPD, 1752 X86_INS_CMPUNORDPD, 1753 X86_INS_CMPNEQPD, 1754 X86_INS_CMPNLTPD, 1755 X86_INS_CMPNLEPD, 1756 X86_INS_CMPORDPD, 1757 1758 X86_INS_VCMPSS, 1759 X86_INS_VCMPEQSS, 1760 X86_INS_VCMPLTSS, 1761 X86_INS_VCMPLESS, 1762 X86_INS_VCMPUNORDSS, 1763 X86_INS_VCMPNEQSS, 1764 X86_INS_VCMPNLTSS, 1765 X86_INS_VCMPNLESS, 1766 X86_INS_VCMPORDSS, 1767 X86_INS_VCMPEQ_UQSS, 1768 X86_INS_VCMPNGESS, 1769 X86_INS_VCMPNGTSS, 1770 X86_INS_VCMPFALSESS, 1771 X86_INS_VCMPNEQ_OQSS, 1772 X86_INS_VCMPGESS, 1773 X86_INS_VCMPGTSS, 1774 X86_INS_VCMPTRUESS, 1775 X86_INS_VCMPEQ_OSSS, 1776 X86_INS_VCMPLT_OQSS, 1777 X86_INS_VCMPLE_OQSS, 1778 X86_INS_VCMPUNORD_SSS, 1779 X86_INS_VCMPNEQ_USSS, 1780 X86_INS_VCMPNLT_UQSS, 1781 X86_INS_VCMPNLE_UQSS, 1782 X86_INS_VCMPORD_SSS, 1783 X86_INS_VCMPEQ_USSS, 1784 X86_INS_VCMPNGE_UQSS, 1785 X86_INS_VCMPNGT_UQSS, 1786 X86_INS_VCMPFALSE_OSSS, 1787 X86_INS_VCMPNEQ_OSSS, 1788 X86_INS_VCMPGE_OQSS, 1789 X86_INS_VCMPGT_OQSS, 1790 X86_INS_VCMPTRUE_USSS, 1791 1792 X86_INS_VCMPSD, 1793 X86_INS_VCMPEQSD, 1794 X86_INS_VCMPLTSD, 1795 X86_INS_VCMPLESD, 1796 X86_INS_VCMPUNORDSD, 1797 X86_INS_VCMPNEQSD, 1798 X86_INS_VCMPNLTSD, 1799 X86_INS_VCMPNLESD, 1800 X86_INS_VCMPORDSD, 1801 X86_INS_VCMPEQ_UQSD, 1802 X86_INS_VCMPNGESD, 1803 X86_INS_VCMPNGTSD, 1804 X86_INS_VCMPFALSESD, 1805 X86_INS_VCMPNEQ_OQSD, 1806 X86_INS_VCMPGESD, 1807 X86_INS_VCMPGTSD, 1808 X86_INS_VCMPTRUESD, 1809 X86_INS_VCMPEQ_OSSD, 1810 X86_INS_VCMPLT_OQSD, 1811 X86_INS_VCMPLE_OQSD, 1812 X86_INS_VCMPUNORD_SSD, 1813 X86_INS_VCMPNEQ_USSD, 1814 X86_INS_VCMPNLT_UQSD, 1815 X86_INS_VCMPNLE_UQSD, 1816 X86_INS_VCMPORD_SSD, 1817 X86_INS_VCMPEQ_USSD, 1818 X86_INS_VCMPNGE_UQSD, 1819 X86_INS_VCMPNGT_UQSD, 1820 X86_INS_VCMPFALSE_OSSD, 1821 X86_INS_VCMPNEQ_OSSD, 1822 X86_INS_VCMPGE_OQSD, 1823 X86_INS_VCMPGT_OQSD, 1824 X86_INS_VCMPTRUE_USSD, 1825 1826 X86_INS_VCMPPS, 1827 X86_INS_VCMPEQPS, 1828 X86_INS_VCMPLTPS, 1829 X86_INS_VCMPLEPS, 1830 X86_INS_VCMPUNORDPS, 1831 X86_INS_VCMPNEQPS, 1832 X86_INS_VCMPNLTPS, 1833 X86_INS_VCMPNLEPS, 1834 X86_INS_VCMPORDPS, 1835 X86_INS_VCMPEQ_UQPS, 1836 X86_INS_VCMPNGEPS, 1837 X86_INS_VCMPNGTPS, 1838 X86_INS_VCMPFALSEPS, 1839 X86_INS_VCMPNEQ_OQPS, 1840 X86_INS_VCMPGEPS, 1841 X86_INS_VCMPGTPS, 1842 X86_INS_VCMPTRUEPS, 1843 X86_INS_VCMPEQ_OSPS, 1844 X86_INS_VCMPLT_OQPS, 1845 X86_INS_VCMPLE_OQPS, 1846 X86_INS_VCMPUNORD_SPS, 1847 X86_INS_VCMPNEQ_USPS, 1848 X86_INS_VCMPNLT_UQPS, 1849 X86_INS_VCMPNLE_UQPS, 1850 X86_INS_VCMPORD_SPS, 1851 X86_INS_VCMPEQ_USPS, 1852 X86_INS_VCMPNGE_UQPS, 1853 X86_INS_VCMPNGT_UQPS, 1854 X86_INS_VCMPFALSE_OSPS, 1855 X86_INS_VCMPNEQ_OSPS, 1856 X86_INS_VCMPGE_OQPS, 1857 X86_INS_VCMPGT_OQPS, 1858 X86_INS_VCMPTRUE_USPS, 1859 1860 X86_INS_VCMPPD, 1861 X86_INS_VCMPEQPD, 1862 X86_INS_VCMPLTPD, 1863 X86_INS_VCMPLEPD, 1864 X86_INS_VCMPUNORDPD, 1865 X86_INS_VCMPNEQPD, 1866 X86_INS_VCMPNLTPD, 1867 X86_INS_VCMPNLEPD, 1868 X86_INS_VCMPORDPD, 1869 X86_INS_VCMPEQ_UQPD, 1870 X86_INS_VCMPNGEPD, 1871 X86_INS_VCMPNGTPD, 1872 X86_INS_VCMPFALSEPD, 1873 X86_INS_VCMPNEQ_OQPD, 1874 X86_INS_VCMPGEPD, 1875 X86_INS_VCMPGTPD, 1876 X86_INS_VCMPTRUEPD, 1877 X86_INS_VCMPEQ_OSPD, 1878 X86_INS_VCMPLT_OQPD, 1879 X86_INS_VCMPLE_OQPD, 1880 X86_INS_VCMPUNORD_SPD, 1881 X86_INS_VCMPNEQ_USPD, 1882 X86_INS_VCMPNLT_UQPD, 1883 X86_INS_VCMPNLE_UQPD, 1884 X86_INS_VCMPORD_SPD, 1885 X86_INS_VCMPEQ_USPD, 1886 X86_INS_VCMPNGE_UQPD, 1887 X86_INS_VCMPNGT_UQPD, 1888 X86_INS_VCMPFALSE_OSPD, 1889 X86_INS_VCMPNEQ_OSPD, 1890 X86_INS_VCMPGE_OQPD, 1891 X86_INS_VCMPGT_OQPD, 1892 X86_INS_VCMPTRUE_USPD, 1893 1894 X86_INS_UD0, 1895 X86_INS_ENDBR32, 1896 X86_INS_ENDBR64, 1897 1898 X86_INS_ENDING, // mark the end of the list of insn 1899 } x86_insn; 1900 1901 /// Group of X86 instructions 1902 typedef enum x86_insn_group { 1903 X86_GRP_INVALID = 0, ///< = CS_GRP_INVALID 1904 1905 // Generic groups 1906 // all jump instructions (conditional+direct+indirect jumps) 1907 X86_GRP_JUMP, ///< = CS_GRP_JUMP 1908 // all call instructions 1909 X86_GRP_CALL, ///< = CS_GRP_CALL 1910 // all return instructions 1911 X86_GRP_RET, ///< = CS_GRP_RET 1912 // all interrupt instructions (int+syscall) 1913 X86_GRP_INT, ///< = CS_GRP_INT 1914 // all interrupt return instructions 1915 X86_GRP_IRET, ///< = CS_GRP_IRET 1916 // all privileged instructions 1917 X86_GRP_PRIVILEGE, ///< = CS_GRP_PRIVILEGE 1918 // all relative branching instructions 1919 X86_GRP_BRANCH_RELATIVE, ///< = CS_GRP_BRANCH_RELATIVE 1920 1921 // Architecture-specific groups 1922 X86_GRP_VM = 128, ///< all virtualization instructions (VT-x + AMD-V) 1923 X86_GRP_3DNOW, 1924 X86_GRP_AES, 1925 X86_GRP_ADX, 1926 X86_GRP_AVX, 1927 X86_GRP_AVX2, 1928 X86_GRP_AVX512, 1929 X86_GRP_BMI, 1930 X86_GRP_BMI2, 1931 X86_GRP_CMOV, 1932 X86_GRP_F16C, 1933 X86_GRP_FMA, 1934 X86_GRP_FMA4, 1935 X86_GRP_FSGSBASE, 1936 X86_GRP_HLE, 1937 X86_GRP_MMX, 1938 X86_GRP_MODE32, 1939 X86_GRP_MODE64, 1940 X86_GRP_RTM, 1941 X86_GRP_SHA, 1942 X86_GRP_SSE1, 1943 X86_GRP_SSE2, 1944 X86_GRP_SSE3, 1945 X86_GRP_SSE41, 1946 X86_GRP_SSE42, 1947 X86_GRP_SSE4A, 1948 X86_GRP_SSSE3, 1949 X86_GRP_PCLMUL, 1950 X86_GRP_XOP, 1951 X86_GRP_CDI, 1952 X86_GRP_ERI, 1953 X86_GRP_TBM, 1954 X86_GRP_16BITMODE, 1955 X86_GRP_NOT64BITMODE, 1956 X86_GRP_SGX, 1957 X86_GRP_DQI, 1958 X86_GRP_BWI, 1959 X86_GRP_PFI, 1960 X86_GRP_VLX, 1961 X86_GRP_SMAP, 1962 X86_GRP_NOVLX, 1963 X86_GRP_FPU, 1964 1965 X86_GRP_ENDING 1966 } x86_insn_group; 1967 1968 #ifdef __cplusplus 1969 } 1970 #endif 1971 1972 #endif 1973