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