diff options
author | somov <somov@yandex-team.ru> | 2022-02-10 16:45:47 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:45:47 +0300 |
commit | a5950576e397b1909261050b8c7da16db58f10b1 (patch) | |
tree | 7ba7677f6a4c3e19e2cefab34d16df2c8963b4d4 /contrib/tools/yasm/modules/x86insn_gas.c | |
parent | 81eddc8c0b55990194e112b02d127b87d54164a9 (diff) | |
download | ydb-a5950576e397b1909261050b8c7da16db58f10b1.tar.gz |
Restoring authorship annotation for <somov@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'contrib/tools/yasm/modules/x86insn_gas.c')
-rw-r--r-- | contrib/tools/yasm/modules/x86insn_gas.c | 4308 |
1 files changed, 2154 insertions, 2154 deletions
diff --git a/contrib/tools/yasm/modules/x86insn_gas.c b/contrib/tools/yasm/modules/x86insn_gas.c index e0773185ba..b07e37995b 100644 --- a/contrib/tools/yasm/modules/x86insn_gas.c +++ b/contrib/tools/yasm/modules/x86insn_gas.c @@ -1,2154 +1,2154 @@ -/* ANSI-C code produced by genperf */ -struct insnprefix_parse_data; -static const struct insnprefix_parse_data * -insnprefix_gas_find(const char *key, size_t len) -{ - static const struct insnprefix_parse_data pd[2070] = { - {"vpunpckhqdq", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x6D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"psrad", pshift_insn, 4, SUF_Z, 0xE2, 0x72, 0x04, 0, CPU_MMX, 0, 0}, - {"rsldt", cyrixsmm_insn, 1, SUF_Z, 0x7B, 0, 0, 0, CPU_486, CPU_Cyrix, CPU_SMM}, - {"ldmxcsr", ldstmxcsr_insn, 1, SUF_Z, 0x02, 0, 0, 0, CPU_SSE, 0, 0}, - {"idivl", div_insn, 8, SUF_L, 0x07, 0, 0, 0, CPU_386, 0, 0}, - {"vhaddpd", xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x7C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"aqword", NULL, X86_ADDRSIZE>>8, 0x40, 0, 0, 0, ONLY_64, 0, 0, 0}, - {"vcmpeq_uqsd", ssecmp_64_insn, 4, SUF_Z, 0x08, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"subl", arith_insn, 22, SUF_L, 0x28, 0x05, 0, 0, CPU_386, 0, 0}, - {"vcmple_oqsd", ssecmp_64_insn, 4, SUF_Z, 0x12, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"shrdw", shlrd_insn, 9, SUF_W, 0xAC, 0, 0, 0, CPU_386, 0, 0}, - {"xchgb", xchg_insn, 16, SUF_B, 0, 0, 0, 0, 0, 0, 0}, - {"dec", incdec_insn, 6, SUF_Z, 0x48, 0x01, 0, 0, 0, 0, 0}, - {"finit", threebyte_insn, 1, SUF_Z, 0x9B, 0xDB, 0xE3, 0, CPU_FPU, 0, 0}, - {"iret", onebyte_insn, 1, SUF_Z, 0xCF, 0, 0, 0, 0, 0, 0}, - {"mul", f6_insn, 4, SUF_Z, 0x04, 0, 0, 0, 0, 0, 0}, - {"vcvtdq2pd", avx_cvt_xmm64_insn, 3, SUF_Z, 0xF3, 0xE6, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"lzcntl", cnt_insn, 3, SUF_L, 0xBD, 0, 0, 0, CPU_LZCNT, 0, 0}, - {"vucomiss", avx_xmm_xmm32_insn, 2, SUF_Z, 0x00, 0x2E, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vblendpd", sse4imm_256_insn, 4, SUF_Z, 0x0D, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"sscal", onebyte_insn, 1, SUF_Z, 0xAF, 0x20, 0, 0, CPU_386, 0, 0}, - {"vcmpnlt_uqpd", ssecmp_128_insn, 3, SUF_Z, 0x15, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"setpob", setcc_insn, 1, SUF_B, 0x0B, 0, 0, 0, CPU_386, 0, 0}, - {"andn", vex_gpr_reg_nds_rm_0F_insn, 2, SUF_Z, 0x00, 0x38, 0xF2, ONLY_AVX, CPU_BMI1, 0, 0}, - {"scasq", onebyte_insn, 1, SUF_Z, 0xAF, 0x40, 0, ONLY_64, 0, 0, 0}, - {"xorw", arith_insn, 22, SUF_W, 0x30, 0x06, 0, 0, 0, 0, 0}, - {"vprotw", vprot_insn, 3, SUF_Z, 0x01, 0, 0, 0, CPU_XOP, 0, 0}, - {"vfmsub231sd", vfma_sd_insn, 2, SUF_Z, 0xBB, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"vpmovmskbq", pmovmskb_insn, 6, SUF_Q, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"data32", NULL, X86_OPERSIZE>>8, 0x20, 0, 0, 0, 0, 0, 0, 0}, - {"movntdq", movnt_insn, 2, SUF_Z, 0x66, 0xE7, 0, 0, CPU_SSE2, 0, 0}, - {"vandps", xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x54, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"fidivrs", fiarith_insn, 2, SUF_S, 0x07, 0xDA, 0, 0, CPU_FPU, 0, 0}, - {"vcmpfalse_osss", ssecmp_32_insn, 4, SUF_Z, 0x1B, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vcmpneqpd", ssecmp_128_insn, 3, SUF_Z, 0x04, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vcmpneq_oqsd", ssecmp_64_insn, 4, SUF_Z, 0x0C, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vpcomnequb", vpcom_insn, 1, SUF_Z, 0xEC, 0x05, 0, 0, CPU_XOP, 0, 0}, - {"vfnmadd213sd", vfma_sd_insn, 2, SUF_Z, 0xAD, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"cmplesd", ssecmp_64_insn, 4, SUF_Z, 0x02, 0xF2, 0, 0, CPU_SSE2, 0, 0}, - {"vpshaq", amd_vpshift_insn, 2, SUF_Z, 0x9B, 0, 0, 0, CPU_XOP, 0, 0}, - {"iretw", onebyte_insn, 1, SUF_Z, 0xCF, 0x10, 0, 0, 0, 0, 0}, - {"vpcomltub", vpcom_insn, 1, SUF_Z, 0xEC, 0x00, 0, 0, CPU_XOP, 0, 0}, - {"vmovupd", movau_insn, 6, SUF_Z, 0x66, 0x10, 0x01, ONLY_AVX, CPU_AVX, 0, 0}, - {"fabs", twobyte_insn, 1, SUF_Z, 0xD9, 0xE1, 0, 0, CPU_FPU, 0, 0}, - {"lgdtq", twobytemem_insn, 1, SUF_Q, 0x02, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0}, - {"vcmpgeps", ssecmp_128_insn, 3, SUF_Z, 0x0D, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"popfw", onebyte_insn, 1, SUF_Z, 0x9D, 0x10, 0x40, 0, 0, 0, 0}, - {"vpmovsxwd", sse4m64_insn, 4, SUF_Z, 0x23, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vpsravd", vpshiftv_vexw0_avx2_insn, 2, SUF_Z, 0x46, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, - {"vpmadcswd", vpma_insn, 1, SUF_Z, 0xB6, 0, 0, 0, CPU_XOP, 0, 0}, - {"vpmovsxbq", sse4m16_insn, 4, SUF_Z, 0x22, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vpcomleud", vpcom_insn, 1, SUF_Z, 0xEE, 0x01, 0, 0, CPU_XOP, 0, 0}, - {"phsubw", ssse3_insn, 5, SUF_Z, 0x05, 0, 0, 0, CPU_SSSE3, 0, 0}, - {"call", call_insn, 30, SUF_Z, 0, 0, 0, 0, 0, 0, 0}, - {"cmovpe", cmovcc_insn, 3, SUF_Z, 0x0A, 0, 0, 0, CPU_686, 0, 0}, - {"vpcomneqq", vpcom_insn, 1, SUF_Z, 0xCF, 0x05, 0, 0, CPU_XOP, 0, 0}, - {"fcomp", fcom_insn, 6, SUF_Z, 0xD8, 0x03, 0, 0, CPU_FPU, 0, 0}, - {"vdpps", sse4imm_256_insn, 4, SUF_Z, 0x40, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"pmovsxdq", sse4m64_insn, 4, SUF_Z, 0x25, 0, 0, 0, CPU_SSE41, 0, 0}, - {"rcll", shift_insn, 16, SUF_L, 0x02, 0, 0, 0, CPU_386, 0, 0}, - {"xorps", xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x57, 0, 0, CPU_SSE, 0, 0}, - {"cmovaq", cmovcc_insn, 3, SUF_Q, 0x07, 0, 0, ONLY_64, CPU_686, 0, 0}, - {"int3", onebyte_insn, 1, SUF_Z, 0xCC, 0, 0, 0, 0, 0, 0}, - {"fsubrp", farithp_insn, 3, SUF_Z, 0xE8, 0, 0, 0, CPU_FPU, 0, 0}, - {"pdepq", vex_gpr_reg_nds_rm_0F_insn, 2, SUF_Q, 0xF2, 0x38, 0xF5, ONLY_64|ONLY_AVX, CPU_BMI2, 0, 0}, - {"vfmadd132pd", vfma_pd_insn, 2, SUF_Z, 0x98, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"bts", bittest_insn, 6, SUF_Z, 0xAB, 0x05, 0, 0, CPU_386, 0, 0}, - {"jnge", jcc_insn, 9, SUF_Z, 0x0C, 0, 0, 0, 0, 0, 0}, - {"movbe", movbe_insn, 6, SUF_Z, 0, 0, 0, 0, CPU_MOVBE, 0, 0}, - {"rsdc", rsdc_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_486, CPU_Cyrix, CPU_SMM}, - {"psubusb", mmxsse2_insn, 2, SUF_Z, 0xD8, 0, 0, 0, CPU_MMX, 0, 0}, - {"pmaxsb", sse4_insn, 2, SUF_Z, 0x3C, 0, 0, 0, CPU_SSE41, 0, 0}, - {"ffree", ffree_insn, 1, SUF_Z, 0xDD, 0, 0, 0, CPU_FPU, 0, 0}, - {"fsubrl", farith_insn, 7, SUF_L, 0xE0, 0xE8, 0x05, 0, CPU_FPU, 0, 0}, - {"pminsb", sse4_insn, 2, SUF_Z, 0x38, 0, 0, 0, CPU_SSE41, 0, 0}, - {"vcmpltsd", ssecmp_64_insn, 4, SUF_Z, 0x01, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vcvtsd2ss", xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x5A, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"verr", prot286_insn, 1, SUF_Z, 0x04, 0x00, 0, 0, CPU_286, CPU_Prot, 0}, - {"pcmpgtb", mmxsse2_insn, 2, SUF_Z, 0x64, 0, 0, 0, CPU_MMX, 0, 0}, - {"lcall", ljmpcall_insn, 7, SUF_Z, 0x03, 0x9A, 0, 0, 0, 0, 0}, - {"vcmpngt_uqss", ssecmp_32_insn, 4, SUF_Z, 0x1A, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"pmulhuw", mmxsse2_insn, 2, SUF_Z, 0xE4, 0, 0, 0, CPU_MMX, CPU_P3, 0}, - {"vcmpeq_ossd", ssecmp_64_insn, 4, SUF_Z, 0x10, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vmaxsd", xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x5F, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vpclmulhqlqdq", pclmulqdq_fixed_insn, 2, SUF_Z, 0x01, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vcmpunord_sps", ssecmp_128_insn, 3, SUF_Z, 0x13, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"data64", NULL, X86_OPERSIZE>>8, 0x40, 0, 0, 0, ONLY_64, 0, 0, 0}, - {"fimul", fiarith_insn, 2, SUF_Z, 0x01, 0xDA, 0, 0, CPU_FPU, 0, 0}, - {"tzcntq", cnt_insn, 3, SUF_Q, 0xBC, 0, 0, ONLY_64, CPU_BMI1, 0, 0}, - {"cmovgel", cmovcc_insn, 3, SUF_L, 0x0D, 0, 0, 0, CPU_686, 0, 0}, - {"cmovbw", cmovcc_insn, 3, SUF_W, 0x02, 0, 0, 0, CPU_686, 0, 0}, - {"vcmpordss", ssecmp_32_insn, 4, SUF_Z, 0x07, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"blendpd", sse4imm_insn, 2, SUF_Z, 0x0D, 0, 0, 0, CPU_SSE41, 0, 0}, - {"seta", setcc_insn, 1, SUF_Z, 0x07, 0, 0, 0, CPU_386, 0, 0}, - {"vfnmaddss", fma_128_m32_insn, 3, SUF_Z, 0x7A, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0}, - {"blsfilll", xop_gpr_reg_rm_09_insn, 2, SUF_L, 0x01, 0x02, 0, 0, CPU_386, CPU_TBM, 0}, - {"incw", incdec_insn, 6, SUF_W, 0x40, 0x00, 0, 0, 0, 0, 0}, - {"blsmsk", vex_gpr_ndd_rm_0F38_regext_insn, 2, SUF_Z, 0x00, 0xF3, 0x02, ONLY_AVX, CPU_BMI1, 0, 0}, - {"testq", test_insn, 20, SUF_Q, 0, 0, 0, ONLY_64, 0, 0, 0}, - {"pushfq", onebyte_insn, 1, SUF_Z, 0x9C, 0x40, 0x40, ONLY_64, 0, 0, 0}, - {"jbe", jcc_insn, 9, SUF_Z, 0x06, 0, 0, 0, 0, 0, 0}, - {"vpcomuw", vpcom_imm_insn, 1, SUF_Z, 0xED, 0, 0, 0, CPU_XOP, 0, 0}, - {"vcomisd", avx_xmm_xmm64_insn, 2, SUF_Z, 0x66, 0x2F, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vcmpneq_osps", ssecmp_128_insn, 3, SUF_Z, 0x1C, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vcmpneq_usps", ssecmp_128_insn, 3, SUF_Z, 0x14, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"pswapd", now3d_insn, 1, SUF_Z, 0xBB, 0, 0, 0, CPU_3DNow, CPU_Athlon, 0}, - {"blciq", xop_gpr_reg_rm_09_insn, 2, SUF_Q, 0x02, 0x06, 0, ONLY_64, CPU_TBM, 0, 0}, - {"skinit", skinit_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_SVM, 0, 0}, - {"sqrtsd", xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x51, 0, 0, CPU_SSE2, 0, 0}, - {"frndint", twobyte_insn, 1, SUF_Z, 0xD9, 0xFC, 0, 0, CPU_FPU, 0, 0}, - {"vpxor", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xEF, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"movmskpdl", movmsk_insn, 4, SUF_L, 0x66, 0, 0, 0, CPU_SSE2, 0, 0}, - {"cmpltss", ssecmp_32_insn, 4, SUF_Z, 0x01, 0xF3, 0, 0, CPU_SSE, 0, 0}, - {"loop", loop_insn, 8, SUF_Z, 0x02, 0, 0, 0, 0, 0, 0}, - {"vphsubwd", vphaddsub_insn, 1, SUF_Z, 0xE2, 0, 0, 0, CPU_XOP, 0, 0}, - {"vpcomltuq", vpcom_insn, 1, SUF_Z, 0xEF, 0x00, 0, 0, CPU_XOP, 0, 0}, - {"psubq", mmxsse2_insn, 2, SUF_Z, 0xFB, 0, 0, 0, CPU_MMX, 0, 0}, - {"cmovcq", cmovcc_insn, 3, SUF_Q, 0x02, 0, 0, ONLY_64, CPU_686, 0, 0}, - {"vpsrlw", vpshift_insn, 8, SUF_Z, 0xD1, 0x71, 0x02, ONLY_AVX, CPU_AVX, 0, 0}, - {"setleb", setcc_insn, 1, SUF_B, 0x0E, 0, 0, 0, CPU_386, 0, 0}, - {"vcmpnltps", ssecmp_128_insn, 3, SUF_Z, 0x05, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"cvtps2pi", cvt_mm_xmm64_insn, 2, SUF_Z, 0x2D, 0, 0, 0, CPU_SSE, 0, 0}, - {"lgdtw", twobytemem_insn, 1, SUF_W, 0x02, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0}, - {"vpcomq", vpcom_imm_insn, 1, SUF_Z, 0xCF, 0, 0, 0, CPU_XOP, 0, 0}, - {"jna", jcc_insn, 9, SUF_Z, 0x06, 0, 0, 0, 0, 0, 0}, - {"vpsubusb", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xD8, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vcmpgt_oqss", ssecmp_32_insn, 4, SUF_Z, 0x1E, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vfmsub231ps", vfma_ps_insn, 2, SUF_Z, 0xBA, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"vfnmsubpd", fma_128_256_insn, 4, SUF_Z, 0x7D, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0}, - {"vmsave", svm_rax_insn, 2, SUF_Z, 0xDB, 0, 0, 0, CPU_SVM, 0, 0}, - {"aesdec", aes_insn, 2, SUF_Z, 0x38, 0xDE, 0, 0, CPU_AVX, 0, 0}, - {"vcvtpd2ps", avx_cvt_xmm128_insn, 2, SUF_Z, 0x66, 0x5A, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vphaddwq", vphaddsub_insn, 1, SUF_Z, 0xC7, 0, 0, 0, CPU_XOP, 0, 0}, - {"cmovpo", cmovcc_insn, 3, SUF_Z, 0x0B, 0, 0, 0, CPU_686, 0, 0}, - {"pmulld", sse4_insn, 2, SUF_Z, 0x40, 0, 0, 0, CPU_SSE41, 0, 0}, - {"cbtw", onebyte_insn, 1, SUF_Z, 0x98, 0x10, 0, 0, 0, 0, 0}, - {"loadall286", twobyte_insn, 1, SUF_Z, 0x0F, 0x05, 0, 0, CPU_286, CPU_Undoc, 0}, - {"rexy", NULL, X86_REX>>8, 0x42, 0, 0, 0, ONLY_64, 0, 0, 0}, - {"lgsw", lfgss_insn, 3, SUF_W, 0xB5, 0, 0, 0, CPU_386, 0, 0}, - {"vcmpngeps", ssecmp_128_insn, 3, SUF_Z, 0x09, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"btc", bittest_insn, 6, SUF_Z, 0xBB, 0x07, 0, 0, CPU_386, 0, 0}, - {"vcmpeq_uqss", ssecmp_32_insn, 4, SUF_Z, 0x08, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"invept", eptvpid_insn, 2, SUF_Z, 0x00, 0, 0, 0, CPU_386, CPU_EPTVPID, 0}, - {"vfmaddsub231pd", vfma_pd_insn, 2, SUF_Z, 0xB6, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"strl", str_insn, 4, SUF_L, 0, 0, 0, 0, CPU_386, CPU_Prot, 0}, - {"shlxl", vex_gpr_reg_rm_nds_0F_insn, 2, SUF_L, 0x66, 0x38, 0xF7, ONLY_AVX, CPU_BMI2, 0, 0}, - {"loopq", loopq_insn, 4, SUF_Z, 0x02, 0x40, 0, ONLY_64, 0, 0, 0}, - {"pmvzb", cyrixmmx_insn, 1, SUF_Z, 0x58, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0}, - {"vshufpd", xmm_xmm128_imm_256_insn, 3, SUF_Z, 0x66, 0xC6, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vpsubq", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xFB, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"fnstsw", fnstsw_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_FPU, 0, 0}, - {"incl", incdec_insn, 6, SUF_L, 0x40, 0x00, 0, 0, CPU_386, 0, 0}, - {"fnop", twobyte_insn, 1, SUF_Z, 0xD9, 0xD0, 0, 0, CPU_FPU, 0, 0}, - {"punpckhdq", mmxsse2_insn, 2, SUF_Z, 0x6A, 0, 0, 0, CPU_MMX, 0, 0}, - {"vphadduwd", vphaddsub_insn, 1, SUF_Z, 0xD6, 0, 0, 0, CPU_XOP, 0, 0}, - {"vmovaps", movau_insn, 6, SUF_Z, 0x00, 0x28, 0x01, ONLY_AVX, CPU_AVX, 0, 0}, - {"vpsllq", vpshift_insn, 8, SUF_Z, 0xF3, 0x73, 0x06, ONLY_AVX, CPU_AVX, 0, 0}, - {"pfmul", now3d_insn, 1, SUF_Z, 0xB4, 0, 0, 0, CPU_3DNow, 0, 0}, - {"vcmpfalsess", ssecmp_32_insn, 4, SUF_Z, 0x0B, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vcmptrue_ussd", ssecmp_64_insn, 4, SUF_Z, 0x1F, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vcmple_oqps", ssecmp_128_insn, 3, SUF_Z, 0x12, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vpinsrwq", pinsrw_insn, 9, SUF_Q, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vpminub", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xDA, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"blcfillq", xop_gpr_reg_rm_09_insn, 2, SUF_Q, 0x01, 0x01, 0, ONLY_64, CPU_TBM, 0, 0}, - {"incq", incdec_insn, 6, SUF_Q, 0x40, 0x00, 0, ONLY_64, 0, 0, 0}, - {"pdep", vex_gpr_reg_nds_rm_0F_insn, 2, SUF_Z, 0xF2, 0x38, 0xF5, ONLY_AVX, CPU_BMI2, 0, 0}, - {"cmovnc", cmovcc_insn, 3, SUF_Z, 0x03, 0, 0, 0, CPU_686, 0, 0}, - {"movntil", movnti_insn, 2, SUF_L, 0, 0, 0, 0, CPU_P4, 0, 0}, - {"cmoveq", cmovcc_insn, 3, SUF_Q, 0x04, 0, 0, ONLY_64, CPU_686, 0, 0}, - {"pfrcpit2", now3d_insn, 1, SUF_Z, 0xB6, 0, 0, 0, CPU_3DNow, 0, 0}, - {"cmovaew", cmovcc_insn, 3, SUF_W, 0x03, 0, 0, 0, CPU_686, 0, 0}, - {"vinserti128", vinsertif128_insn, 1, SUF_Z, 0x38, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, - {"movmskpdq", movmsk_insn, 4, SUF_Q, 0x66, 0, 0, ONLY_64, CPU_SSE2, 0, 0}, - {"vpmaxud", ssse3_insn, 5, SUF_Z, 0x3F, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"xaddw", cmpxchgxadd_insn, 4, SUF_W, 0xC0, 0, 0, 0, CPU_486, 0, 0}, - {"psubb", mmxsse2_insn, 2, SUF_Z, 0xF8, 0, 0, 0, CPU_MMX, 0, 0}, - {"vminpd", xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x5D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"mulpd", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x59, 0, 0, CPU_SSE2, 0, 0}, - {"fisttpl", fildstp_insn, 4, SUF_L, 0x01, 0x00, 0x01, 0, CPU_SSE3, 0, 0}, - {"vcmpordps", ssecmp_128_insn, 3, SUF_Z, 0x07, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"lgs", lfgss_insn, 3, SUF_Z, 0xB5, 0, 0, 0, CPU_386, 0, 0}, - {"lzcntq", cnt_insn, 3, SUF_Q, 0xBD, 0, 0, ONLY_64, CPU_LZCNT, 0, 0}, - {"frstor", onebytemem_insn, 1, SUF_Z, 0x04, 0xDD, 0, 0, CPU_FPU, 0, 0}, - {"vcmpge_oqpd", ssecmp_128_insn, 3, SUF_Z, 0x1D, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"setnbb", setcc_insn, 1, SUF_B, 0x03, 0, 0, 0, CPU_386, 0, 0}, - {"fcmovnbe", fcmovcc_insn, 1, SUF_Z, 0xDB, 0xD0, 0, 0, CPU_686, CPU_FPU, 0}, - {"pminub", mmxsse2_insn, 2, SUF_Z, 0xDA, 0, 0, 0, CPU_MMX, CPU_P3, 0}, - {"vcvttpd2dqx", avx_cvt_xmm128_x_insn, 1, SUF_Z, 0x66, 0xE6, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vfmaddsub231ps", vfma_ps_insn, 2, SUF_Z, 0xB6, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"data16", NULL, X86_OPERSIZE>>8, 0x10, 0, 0, 0, 0, 0, 0, 0}, - {"lmsw", prot286_insn, 1, SUF_Z, 0x06, 0x01, 0, 0, CPU_286, CPU_Priv, 0}, - {"cmovnsq", cmovcc_insn, 3, SUF_Q, 0x09, 0, 0, ONLY_64, CPU_686, 0, 0}, - {"ficompl", fiarith_insn, 2, SUF_L, 0x03, 0xDA, 0, 0, CPU_FPU, 0, 0}, - {"sets", setcc_insn, 1, SUF_Z, 0x08, 0, 0, 0, CPU_386, 0, 0}, - {"vpmuldq", ssse3_insn, 5, SUF_Z, 0x28, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"mulss", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x59, 0, 0, CPU_SSE, 0, 0}, - {"minpd", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x5D, 0, 0, CPU_SSE2, 0, 0}, - {"pshufhw", xmm_xmm128_imm_insn, 1, SUF_Z, 0xF3, 0x70, 0, 0, CPU_SSE2, 0, 0}, - {"dword", NULL, X86_OPERSIZE>>8, 0x20, 0, 0, 0, 0, 0, 0, 0}, - {"cmovnael", cmovcc_insn, 3, SUF_L, 0x02, 0, 0, 0, CPU_686, 0, 0}, - {"xtest", tsx_0x0F_0x01_insn, 1, SUF_Z, 0xD6, 0, 0, 0, CPU_TSX, 0, 0}, - {"sar", shift_insn, 16, SUF_Z, 0x07, 0, 0, 0, 0, 0, 0}, - {"cmovngel", cmovcc_insn, 3, SUF_L, 0x0C, 0, 0, 0, CPU_686, 0, 0}, - {"cmovnlew", cmovcc_insn, 3, SUF_W, 0x0F, 0, 0, 0, CPU_686, 0, 0}, - {"sidt", twobytemem_insn, 1, SUF_Z, 0x01, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0}, - {"fxrstor", twobytemem_insn, 1, SUF_Z, 0x01, 0x0F, 0xAE, 0, CPU_686, CPU_FPU, 0}, - {"adcxl", vex_gpr_ndd_rm_0F38_insn, 2, SUF_L, 0x66, 0xF6, 0, 0, CPU_ADX, 0, 0}, - {"mull", f6_insn, 4, SUF_L, 0x04, 0, 0, 0, CPU_386, 0, 0}, - {"wbinvd", twobyte_insn, 1, SUF_Z, 0x0F, 0x09, 0, 0, CPU_486, CPU_Priv, 0}, - {"pmaxuw", sse4_insn, 2, SUF_Z, 0x3E, 0, 0, 0, CPU_SSE41, 0, 0}, - {"setnp", setcc_insn, 1, SUF_Z, 0x0B, 0, 0, 0, CPU_386, 0, 0}, - {"decb", incdec_insn, 6, SUF_B, 0x48, 0x01, 0, 0, 0, 0, 0}, - {"fnsaves", onebytemem_insn, 1, SUF_S, 0x06, 0xDD, 0, 0, CPU_FPU, 0, 0}, - {"cmovbe", cmovcc_insn, 3, SUF_Z, 0x06, 0, 0, 0, CPU_686, 0, 0}, - {"fsaves", twobytemem_insn, 1, SUF_S, 0x06, 0x9B, 0xDD, 0, CPU_FPU, 0, 0}, - {"jz", jcc_insn, 9, SUF_Z, 0x04, 0, 0, 0, 0, 0, 0}, - {"cmovngeq", cmovcc_insn, 3, SUF_Q, 0x0C, 0, 0, ONLY_64, CPU_686, 0, 0}, - {"neg", f6_insn, 4, SUF_Z, 0x03, 0, 0, 0, 0, 0, 0}, - {"jmp", jmp_insn, 31, SUF_Z, 0, 0, 0, 0, 0, 0, 0}, - {"fdivrp", farithp_insn, 3, SUF_Z, 0xF8, 0, 0, 0, CPU_FPU, 0, 0}, - {"cmovnsl", cmovcc_insn, 3, SUF_L, 0x09, 0, 0, 0, CPU_686, 0, 0}, - {"lesl", ldes_insn, 2, SUF_L, 0xC4, 0, 0, NOT_64, CPU_386, 0, 0}, - {"vpsllvq", vpshiftv_vexw1_avx2_insn, 2, SUF_Z, 0x47, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, - {"movslq", movsxd_insn, 1, SUF_L, 0, 0, 0, ONLY_64, 0, 0, 0}, - {"vmovss", movss_insn, 4, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"cmovbew", cmovcc_insn, 3, SUF_W, 0x06, 0, 0, 0, CPU_686, 0, 0}, - {"vpermpd", vperm_imm_avx2_insn, 1, SUF_Z, 0x01, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, - {"vcmpfalsesd", ssecmp_64_insn, 4, SUF_Z, 0x0B, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"pcmpeqd", mmxsse2_insn, 2, SUF_Z, 0x76, 0, 0, 0, CPU_MMX, 0, 0}, - {"cmovne", cmovcc_insn, 3, SUF_Z, 0x05, 0, 0, 0, CPU_686, 0, 0}, - {"vpcomeqw", vpcom_insn, 1, SUF_Z, 0xCD, 0x04, 0, 0, CPU_XOP, 0, 0}, - {"movsb", onebyte_insn, 1, SUF_Z, 0xA4, 0x00, 0, 0, 0, 0, 0}, - {"loopnzl", loopl_insn, 4, SUF_Z, 0x00, 0x20, 0, 0, 0, 0, 0}, - {"pmaxsd", sse4_insn, 2, SUF_Z, 0x3D, 0, 0, 0, CPU_SSE41, 0, 0}, - {"fld", fld_insn, 4, SUF_Z, 0, 0, 0, 0, CPU_FPU, 0, 0}, - {"fstpt", fldstpt_insn, 1, SUF_Z, 0x07, 0, 0, 0, CPU_FPU, 0, 0}, - {"vcmplepd", ssecmp_128_insn, 3, SUF_Z, 0x02, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"lidtq", twobytemem_insn, 1, SUF_Q, 0x03, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0}, - {"blsmskl", vex_gpr_ndd_rm_0F38_regext_insn, 2, SUF_L, 0x00, 0xF3, 0x02, ONLY_AVX, CPU_BMI1, 0, 0}, - {"vcmpge_oqsd", ssecmp_64_insn, 4, SUF_Z, 0x1D, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"unpckhps", xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x15, 0, 0, CPU_SSE, 0, 0}, - {"vmreadq", vmxmemrd_insn, 2, SUF_Q, 0, 0, 0, ONLY_64, CPU_P4, 0, 0}, - {"btsw", bittest_insn, 6, SUF_W, 0xAB, 0x05, 0, 0, CPU_386, 0, 0}, - {"vpinsrwl", pinsrw_insn, 9, SUF_L, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vpcmpgtw", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x65, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"pextq", vex_gpr_reg_nds_rm_0F_insn, 2, SUF_Q, 0xF3, 0x38, 0xF5, ONLY_64|ONLY_AVX, CPU_BMI2, 0, 0}, - {"vcmpnge_uqsd", ssecmp_64_insn, 4, SUF_Z, 0x19, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"pavgw", mmxsse2_insn, 2, SUF_Z, 0xE3, 0, 0, 0, CPU_MMX, CPU_P3, 0}, - {"vpunpckhbw", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x68, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vmlaunch", threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xC2, 0, CPU_P4, 0, 0}, - {"loopnew", loopw_insn, 4, SUF_Z, 0x00, 0x10, 0, NOT_64, 0, 0, 0}, - {"vmaxps", xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x5F, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"rdshr", rdwrshr_insn, 1, SUF_Z, 0x00, 0, 0, 0, CPU_686, CPU_Cyrix, CPU_SMM}, - {"setge", setcc_insn, 1, SUF_Z, 0x0D, 0, 0, 0, CPU_386, 0, 0}, - {"pcmpgtw", mmxsse2_insn, 2, SUF_Z, 0x65, 0, 0, 0, CPU_MMX, 0, 0}, - {"vsqrtpd", avx_xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x51, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"fstsw", fstsw_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_FPU, 0, 0}, - {"cmovzw", cmovcc_insn, 3, SUF_W, 0x04, 0, 0, 0, CPU_686, 0, 0}, - {"frstors", onebytemem_insn, 1, SUF_S, 0x04, 0xDD, 0, 0, CPU_FPU, 0, 0}, - {"smsww", sldtmsw_insn, 6, SUF_W, 0x04, 0x01, 0, 0, CPU_286, 0, 0}, - {"vpsubusw", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xD9, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"fisubrs", fiarith_insn, 2, SUF_S, 0x05, 0xDA, 0, 0, CPU_FPU, 0, 0}, - {"vmovshdup", avx_xmm_xmm128_insn, 2, SUF_Z, 0xF3, 0x16, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"xacquire", NULL, X86_ACQREL>>8, 0xF2, 0, 0, 0, 0, 0, 0, 0}, - {"vcmple_oqss", ssecmp_32_insn, 4, SUF_Z, 0x12, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vcmpgt_oqpd", ssecmp_128_insn, 3, SUF_Z, 0x1E, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"pfsub", now3d_insn, 1, SUF_Z, 0x9A, 0, 0, 0, CPU_3DNow, 0, 0}, - {"vpgatherdd", gather_32x_32y_insn, 2, SUF_Z, 0x90, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, - {"vcmpngtss", ssecmp_32_insn, 4, SUF_Z, 0x0A, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"pmovzxbw", sse4m64_insn, 4, SUF_Z, 0x30, 0, 0, 0, CPU_SSE41, 0, 0}, - {"cmovgl", cmovcc_insn, 3, SUF_L, 0x0F, 0, 0, 0, CPU_686, 0, 0}, - {"movaps", movau_insn, 6, SUF_Z, 0x00, 0x28, 0x01, 0, CPU_SSE, 0, 0}, - {"rdfsbase", fs_gs_base_insn, 2, SUF_Z, 0x00, 0, 0, ONLY_64, CPU_FSGSBASE, 0, 0}, - {"wrmsr", twobyte_insn, 1, SUF_Z, 0x0F, 0x30, 0, 0, CPU_586, CPU_Priv, 0}, - {"movmskpsl", movmsk_insn, 4, SUF_L, 0, 0, 0, 0, CPU_386, CPU_SSE, 0}, - {"vcmpngtpd", ssecmp_128_insn, 3, SUF_Z, 0x0A, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"decw", incdec_insn, 6, SUF_W, 0x48, 0x01, 0, 0, 0, 0, 0}, - {"vmclear", vmxthreebytemem_insn, 1, SUF_Z, 0x66, 0, 0, 0, CPU_P4, 0, 0}, - {"vfmsub213pd", vfma_pd_insn, 2, SUF_Z, 0xAA, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"roundps", sse4imm_insn, 2, SUF_Z, 0x08, 0, 0, 0, CPU_SSE41, 0, 0}, - {"xsaveopt", twobytemem_insn, 1, SUF_Z, 0x06, 0x0F, 0xAE, 0, CPU_XSAVEOPT, 0, 0}, - {"blsmskq", vex_gpr_ndd_rm_0F38_regext_insn, 2, SUF_Q, 0x00, 0xF3, 0x02, ONLY_64|ONLY_AVX, CPU_BMI1, 0, 0}, - {"fnstcww", fldnstcw_insn, 1, SUF_W, 0x07, 0, 0, 0, CPU_FPU, 0, 0}, - {"unpcklpd", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x14, 0, 0, CPU_SSE2, 0, 0}, - {"pfrcp", now3d_insn, 1, SUF_Z, 0x96, 0, 0, 0, CPU_3DNow, 0, 0}, - {"phaddw", ssse3_insn, 5, SUF_Z, 0x01, 0, 0, 0, CPU_SSSE3, 0, 0}, - {"adoxq", vex_gpr_ndd_rm_0F38_insn, 2, SUF_Q, 0xF3, 0xF6, 0, ONLY_64, CPU_ADX, 0, 0}, - {"vcmpnltsd", ssecmp_64_insn, 4, SUF_Z, 0x05, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vpcomleub", vpcom_insn, 1, SUF_Z, 0xEC, 0x01, 0, 0, CPU_XOP, 0, 0}, - {"vpsrlq", vpshift_insn, 8, SUF_Z, 0xD3, 0x73, 0x02, ONLY_AVX, CPU_AVX, 0, 0}, - {"psllq", pshift_insn, 4, SUF_Z, 0xF3, 0x73, 0x06, 0, CPU_MMX, 0, 0}, - {"enterl", enter_insn, 3, SUF_L, 0, 0, 0, NOT_64, CPU_186, 0, 0}, - {"wrshr", rdwrshr_insn, 1, SUF_Z, 0x01, 0, 0, 0, CPU_686, CPU_Cyrix, CPU_SMM}, - {"blcsq", xop_gpr_reg_rm_09_insn, 2, SUF_Q, 0x01, 0x03, 0, ONLY_64, CPU_TBM, 0, 0}, - {"vpmadcsswd", vpma_insn, 1, SUF_Z, 0xA6, 0, 0, 0, CPU_XOP, 0, 0}, - {"fdivl", farith_insn, 7, SUF_L, 0xF8, 0xF0, 0x06, 0, CPU_FPU, 0, 0}, - {"salb", shift_insn, 16, SUF_B, 0x04, 0, 0, 0, 0, 0, 0}, - {"vpcomequq", vpcom_insn, 1, SUF_Z, 0xEF, 0x04, 0, 0, CPU_XOP, 0, 0}, - {"cmovpw", cmovcc_insn, 3, SUF_W, 0x0A, 0, 0, 0, CPU_686, 0, 0}, - {"cmovgw", cmovcc_insn, 3, SUF_W, 0x0F, 0, 0, 0, CPU_686, 0, 0}, - {"vpmovmskbl", pmovmskb_insn, 6, SUF_L, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"iretl", onebyte_insn, 1, SUF_Z, 0xCF, 0x20, 0, 0, CPU_386, 0, 0}, - {"fdiv", farith_insn, 7, SUF_Z, 0xF8, 0xF0, 0x06, 0, CPU_FPU, 0, 0}, - {"vpermps", vperm_var_avx2_insn, 1, SUF_Z, 0x16, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, - {"vphaddwd", vphaddsub_insn, 1, SUF_Z, 0xC6, 0, 0, 0, CPU_XOP, 0, 0}, - {"vcmpnlt_uqss", ssecmp_32_insn, 4, SUF_Z, 0x15, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vpcomleuw", vpcom_insn, 1, SUF_Z, 0xED, 0x01, 0, 0, CPU_XOP, 0, 0}, - {"crc32l", crc32_insn, 5, SUF_L, 0, 0, 0, 0, CPU_386, CPU_SSE42, 0}, - {"cmpsq", onebyte_insn, 1, SUF_Z, 0xA7, 0x40, 0, ONLY_64, 0, 0, 0}, - {"cmovpel", cmovcc_insn, 3, SUF_L, 0x0A, 0, 0, 0, CPU_686, 0, 0}, - {"cmovnlel", cmovcc_insn, 3, SUF_L, 0x0F, 0, 0, 0, CPU_686, 0, 0}, - {"sysretl", twobyte_insn, 1, SUF_L, 0x0F, 0x07, 0, 0, CPU_686, CPU_AMD, CPU_Priv}, - {"setpo", setcc_insn, 1, SUF_Z, 0x0B, 0, 0, 0, CPU_386, 0, 0}, - {"vpcomgtq", vpcom_insn, 1, SUF_Z, 0xCF, 0x02, 0, 0, CPU_XOP, 0, 0}, - {"phsubsw", ssse3_insn, 5, SUF_Z, 0x07, 0, 0, 0, CPU_SSSE3, 0, 0}, - {"pinsrw", pinsrw_insn, 9, SUF_Z, 0, 0, 0, 0, CPU_MMX, CPU_P3, 0}, - {"vfmadd231ps", vfma_ps_insn, 2, SUF_Z, 0xB8, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"mulps", xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x59, 0, 0, CPU_SSE, 0, 0}, - {"setz", setcc_insn, 1, SUF_Z, 0x04, 0, 0, 0, CPU_386, 0, 0}, - {"cmpltsd", ssecmp_64_insn, 4, SUF_Z, 0x01, 0xF2, 0, 0, CPU_SSE2, 0, 0}, - {"fstl", fst_insn, 3, SUF_L, 0, 0, 0, 0, CPU_FPU, 0, 0}, - {"vcmptrueps", ssecmp_128_insn, 3, SUF_Z, 0x0F, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"cmovow", cmovcc_insn, 3, SUF_W, 0x00, 0, 0, 0, CPU_686, 0, 0}, - {"extrq", extrq_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_SSE4a, 0, 0}, - {"verrw", prot286_insn, 1, SUF_W, 0x04, 0x00, 0, 0, CPU_286, CPU_Prot, 0}, - {"setno", setcc_insn, 1, SUF_Z, 0x01, 0, 0, 0, CPU_386, 0, 0}, - {"lssw", lfgss_insn, 3, SUF_W, 0xB2, 0, 0, 0, CPU_386, 0, 0}, - {"cmpunordps", ssecmp_128_insn, 3, SUF_Z, 0x03, 0, 0, 0, CPU_SSE, 0, 0}, - {"shlxq", vex_gpr_reg_rm_nds_0F_insn, 2, SUF_Q, 0x66, 0x38, 0xF7, ONLY_64|ONLY_AVX, CPU_BMI2, 0, 0}, - {"emms", twobyte_insn, 1, SUF_Z, 0x0F, 0x77, 0, 0, CPU_MMX, 0, 0}, - {"sarq", shift_insn, 16, SUF_Q, 0x07, 0, 0, ONLY_64, 0, 0, 0}, - {"pminsd", sse4_insn, 2, SUF_Z, 0x39, 0, 0, 0, CPU_SSE41, 0, 0}, - {"rorw", shift_insn, 16, SUF_W, 0x01, 0, 0, 0, 0, 0, 0}, - {"pxor", mmxsse2_insn, 2, SUF_Z, 0xEF, 0, 0, 0, CPU_MMX, 0, 0}, - {"pfnacc", now3d_insn, 1, SUF_Z, 0x8A, 0, 0, 0, CPU_3DNow, CPU_Athlon, 0}, - {"pf2iw", now3d_insn, 1, SUF_Z, 0x1C, 0, 0, 0, CPU_3DNow, CPU_Athlon, 0}, - {"invpcid", invpcid_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_386, CPU_INVPCID, CPU_Priv}, - {"fcompl", fcom_insn, 6, SUF_L, 0xD8, 0x03, 0, 0, CPU_FPU, 0, 0}, - {"larq", larlsl_insn, 6, SUF_Q, 0x02, 0, 0, ONLY_64, CPU_286, CPU_Prot, 0}, - {"str", str_insn, 4, SUF_Z, 0, 0, 0, 0, CPU_286, CPU_Prot, 0}, - {"movmskpsq", movmsk_insn, 4, SUF_Q, 0, 0, 0, ONLY_64, CPU_SSE, 0, 0}, - {"lds", ldes_insn, 2, SUF_Z, 0xC5, 0, 0, NOT_64, 0, 0, 0}, - {"vpinsrb", pinsrb_insn, 4, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"pushf", onebyte_insn, 1, SUF_Z, 0x9C, 0x00, 0x40, 0, 0, 0, 0}, - {"vcvtsd2sil", cvt_rx_xmm64_insn, 4, SUF_L, 0xF2, 0x2D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"jge", jcc_insn, 9, SUF_Z, 0x0D, 0, 0, 0, 0, 0, 0}, - {"setpb", setcc_insn, 1, SUF_B, 0x0A, 0, 0, 0, CPU_386, 0, 0}, - {"andl", arith_insn, 22, SUF_L, 0x20, 0x04, 0, 0, CPU_386, 0, 0}, - {"vaesdec", aes_insn, 2, SUF_Z, 0x38, 0xDE, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"xstore", padlock_insn, 1, SUF_Z, 0xC0, 0x00, 0xA7, 0, CPU_PadLock, 0, 0}, - {"sha1nexte", intel_SHA1NEXTE_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SHA, 0, 0}, - {"andps", xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x54, 0, 0, CPU_SSE, 0, 0}, - {"vphaddbd", vphaddsub_insn, 1, SUF_Z, 0xC2, 0, 0, 0, CPU_XOP, 0, 0}, - {"rorxl", vex_gpr_reg_rm_0F_imm8_insn, 2, SUF_L, 0xF2, 0x3A, 0xF0, ONLY_AVX, CPU_BMI2, 0, 0}, - {"jmpw", jmp_insn, 31, SUF_W, 0, 0, 0, 0, 0, 0, 0}, - {"fildll", fbldstp_insn, 1, SUF_Z, 0x05, 0, 0, 0, CPU_FPU, 0, 0}, - {"out", out_insn, 12, SUF_Z, 0, 0, 0, 0, 0, 0, 0}, - {"mulsd", xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x59, 0, 0, CPU_SSE2, 0, 0}, - {"movss", movss_insn, 4, SUF_Z, 0, 0, 0, 0, CPU_SSE, 0, 0}, - {"smswl", sldtmsw_insn, 6, SUF_L, 0x04, 0x01, 0, 0, CPU_386, 0, 0}, - {"aam", aadm_insn, 2, SUF_Z, 0x00, 0, 0, NOT_64, 0, 0, 0}, - {"stosw", onebyte_insn, 1, SUF_Z, 0xAB, 0x10, 0, 0, 0, 0, 0}, - {"ptest", sse4_insn, 2, SUF_Z, 0x17, 0, 0, 0, CPU_SSE41, 0, 0}, - {"lretw", retnf_insn, 6, SUF_W, 0xCA, 0x10, 0, 0, 0, 0, 0}, - {"notq", f6_insn, 4, SUF_Q, 0x02, 0, 0, ONLY_64, 0, 0, 0}, - {"vmload", svm_rax_insn, 2, SUF_Z, 0xDA, 0, 0, 0, CPU_SVM, 0, 0}, - {"andb", arith_insn, 22, SUF_B, 0x20, 0x04, 0, 0, 0, 0, 0}, - {"vcmpeq_usss", ssecmp_32_insn, 4, SUF_Z, 0x18, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vpsubsw", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xE9, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vmovmskpd", movmsk_insn, 4, SUF_Z, 0x66, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vfnmsub231pd", vfma_pd_insn, 2, SUF_Z, 0xBE, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"cmovg", cmovcc_insn, 3, SUF_Z, 0x0F, 0, 0, 0, CPU_686, 0, 0}, - {"cmpeqpd", ssecmp_128_insn, 3, SUF_Z, 0x00, 0x66, 0, 0, CPU_SSE, 0, 0}, - {"vfmsub213sd", vfma_sd_insn, 2, SUF_Z, 0xAB, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"rex64", NULL, X86_REX>>8, 0x48, 0, 0, 0, ONLY_64, 0, 0, 0}, - {"vpcmpistri", sse4pcmpstr_insn, 1, SUF_Z, 0x63, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vpminsb", ssse3_insn, 5, SUF_Z, 0x38, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vfnmadd231pd", vfma_pd_insn, 2, SUF_Z, 0xBC, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"ja", jcc_insn, 9, SUF_Z, 0x07, 0, 0, 0, 0, 0, 0}, - {"vpmullw", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xD5, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vcvttpd2dq", avx_cvt_xmm128_insn, 2, SUF_Z, 0x66, 0xE6, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vgatherdps", gather_32x_32y_insn, 2, SUF_Z, 0x92, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, - {"vfmsub213ss", vfma_ss_insn, 2, SUF_Z, 0xAB, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"cmpxchgb", cmpxchgxadd_insn, 4, SUF_B, 0xB0, 0, 0, 0, CPU_486, 0, 0}, - {"sgdtw", twobytemem_insn, 1, SUF_W, 0x00, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0}, - {"cmpb", arith_insn, 22, SUF_B, 0x38, 0x07, 0, 0, 0, 0, 0}, - {"vmulpd", xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x59, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"cvttsd2siq", cvt_rx_xmm64_insn, 4, SUF_Q, 0xF2, 0x2C, 0, ONLY_64, CPU_SSE2, 0, 0}, - {"movzwq", movszx_insn, 5, SUF_W, 0xB6, 0, 0, ONLY_64, CPU_386, 0, 0}, - {"les", ldes_insn, 2, SUF_Z, 0xC4, 0, 0, NOT_64, 0, 0, 0}, - {"vcmpngepd", ssecmp_128_insn, 3, SUF_Z, 0x09, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"clflush", clflush_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_P3, 0, 0}, - {"leavew", onebyte_insn, 1, SUF_Z, 0xC9, 0x10, 0x00, 0, CPU_186, 0, 0}, - {"addsubps", xmm_xmm128_insn, 2, SUF_Z, 0xF2, 0xD0, 0, 0, CPU_SSE3, 0, 0}, - {"vinsertps", insertps_insn, 4, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vmresume", threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xC3, 0, CPU_P4, 0, 0}, - {"cmpnlesd", ssecmp_64_insn, 4, SUF_Z, 0x06, 0xF2, 0, 0, CPU_SSE2, 0, 0}, - {"setnge", setcc_insn, 1, SUF_Z, 0x0C, 0, 0, 0, CPU_386, 0, 0}, - {"adcxq", vex_gpr_ndd_rm_0F38_insn, 2, SUF_Q, 0x66, 0xF6, 0, ONLY_64, CPU_ADX, 0, 0}, - {"xsetbv", threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xD1, 0, CPU_386, CPU_Priv, CPU_XSAVE}, - {"vphsubsw", ssse3_insn, 5, SUF_Z, 0x07, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vcmpgtsd", ssecmp_64_insn, 4, SUF_Z, 0x0E, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vphsubw", ssse3_insn, 5, SUF_Z, 0x05, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"cmovnbel", cmovcc_insn, 3, SUF_L, 0x07, 0, 0, 0, CPU_686, 0, 0}, - {"fcomi", fcom2_insn, 2, SUF_Z, 0xDB, 0xF0, 0, 0, CPU_686, CPU_FPU, 0}, - {"blsfillq", xop_gpr_reg_rm_09_insn, 2, SUF_Q, 0x01, 0x02, 0, ONLY_64, CPU_TBM, 0, 0}, - {"mulxl", vex_gpr_reg_nds_rm_0F_insn, 2, SUF_L, 0xF2, 0x38, 0xF6, ONLY_AVX, CPU_BMI2, 0, 0}, - {"fcomip", fcom2_insn, 2, SUF_Z, 0xDF, 0xF0, 0, 0, CPU_686, CPU_FPU, 0}, - {"vpinsrq", pinsrq_insn, 2, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vpcomw", vpcom_imm_insn, 1, SUF_Z, 0xCD, 0, 0, 0, CPU_XOP, 0, 0}, - {"rsts", cyrixsmm_insn, 1, SUF_Z, 0x7D, 0, 0, 0, CPU_486, CPU_Cyrix, CPU_SMM}, - {"vpcomleb", vpcom_insn, 1, SUF_Z, 0xCC, 0x01, 0, 0, CPU_XOP, 0, 0}, - {"vdivpd", xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x5E, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"add", arith_insn, 22, SUF_Z, 0x00, 0x00, 0, 0, 0, 0, 0}, - {"sldtw", sldtmsw_insn, 6, SUF_W, 0x00, 0x00, 0, 0, CPU_286, 0, 0}, - {"rorl", shift_insn, 16, SUF_L, 0x01, 0, 0, 0, CPU_386, 0, 0}, - {"vcvtsi2sd", cvt_xmm_rmx_insn, 6, SUF_Z, 0xF2, 0x2A, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vcmpnge_uqps", ssecmp_128_insn, 3, SUF_Z, 0x19, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vfmsubpd", fma_128_256_insn, 4, SUF_Z, 0x6D, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0}, - {"vpminsd", ssse3_insn, 5, SUF_Z, 0x39, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"fistl", fiarith_insn, 2, SUF_L, 0x02, 0xDB, 0, 0, CPU_FPU, 0, 0}, - {"fcmovu", fcmovcc_insn, 1, SUF_Z, 0xDA, 0xD8, 0, 0, CPU_686, CPU_FPU, 0}, - {"scasb", onebyte_insn, 1, SUF_Z, 0xAE, 0x00, 0, 0, 0, 0, 0}, - {"phminposuw", sse4_insn, 2, SUF_Z, 0x41, 0, 0, 0, CPU_SSE41, 0, 0}, - {"pextrwl", pextrw_insn, 7, SUF_L, 0, 0, 0, 0, CPU_MMX, CPU_P3, 0}, - {"vpclmulqdq", pclmulqdq_insn, 2, SUF_Z, 0x3A, 0x44, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vphaddbw", vphaddsub_insn, 1, SUF_Z, 0xC1, 0, 0, 0, CPU_XOP, 0, 0}, - {"psubsb", mmxsse2_insn, 2, SUF_Z, 0xE8, 0, 0, 0, CPU_MMX, 0, 0}, - {"lss", lfgss_insn, 3, SUF_Z, 0xB2, 0, 0, 0, CPU_386, 0, 0}, - {"pushal", onebyte_insn, 1, SUF_Z, 0x60, 0x20, 0, NOT_64, CPU_386, 0, 0}, - {"setb", setcc_insn, 1, SUF_Z, 0x02, 0, 0, 0, CPU_386, 0, 0}, - {"cmpnltps", ssecmp_128_insn, 3, SUF_Z, 0x05, 0, 0, 0, CPU_SSE, 0, 0}, - {"rcpss", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x53, 0, 0, CPU_SSE, 0, 0}, - {"vcmpnltpd", ssecmp_128_insn, 3, SUF_Z, 0x05, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"cmpneqps", ssecmp_128_insn, 3, SUF_Z, 0x04, 0, 0, 0, CPU_SSE, 0, 0}, - {"vpsadbw", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xF6, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vcvtss2sil", cvt_rx_xmm32_insn, 4, SUF_L, 0xF3, 0x2D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"fadds", farith_insn, 7, SUF_S, 0xC0, 0xC0, 0x00, 0, CPU_FPU, 0, 0}, - {"cmovbeq", cmovcc_insn, 3, SUF_Q, 0x06, 0, 0, ONLY_64, CPU_686, 0, 0}, - {"bextrl", bextr_insn, 4, SUF_L, 0, 0, 0, ONLY_AVX, CPU_386, CPU_BMI1, 0}, - {"vsqrtps", avx_xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x51, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vcmpunord_ssd", ssecmp_64_insn, 4, SUF_Z, 0x13, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"pmaxsw", mmxsse2_insn, 2, SUF_Z, 0xEE, 0, 0, 0, CPU_MMX, CPU_P3, 0}, - {"lcallq", ljmpcall_insn, 7, SUF_Q, 0x03, 0x9A, 0, ONLY_64, 0, 0, 0}, - {"vpextrb", pextrb_insn, 3, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"fchs", twobyte_insn, 1, SUF_Z, 0xD9, 0xE0, 0, 0, CPU_FPU, 0, 0}, - {"cmovnbeq", cmovcc_insn, 3, SUF_Q, 0x07, 0, 0, ONLY_64, CPU_686, 0, 0}, - {"sha1msg2", intel_SHA1MSG2_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SHA, 0, 0}, - {"vpaddusb", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xDC, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"faddp", farithp_insn, 3, SUF_Z, 0xC0, 0, 0, 0, CPU_FPU, 0, 0}, - {"cmovnbe", cmovcc_insn, 3, SUF_Z, 0x07, 0, 0, 0, CPU_686, 0, 0}, - {"psrldq", pslrldq_insn, 4, SUF_Z, 0x03, 0, 0, 0, CPU_SSE2, 0, 0}, - {"movswl", movszx_insn, 5, SUF_W, 0xBE, 0, 0, 0, CPU_386, 0, 0}, - {"outsw", onebyte_insn, 1, SUF_Z, 0x6F, 0x10, 0, 0, 0, 0, 0}, - {"vpminud", ssse3_insn, 5, SUF_Z, 0x3B, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"aesimc", aesimc_insn, 1, SUF_Z, 0x38, 0xDB, 0, 0, CPU_AES, 0, 0}, - {"movsd", movsd_insn, 5, SUF_Z, 0, 0, 0, 0, CPU_386, 0, 0}, - {"fistpq", fildstp_insn, 4, SUF_Q, 0x03, 0x02, 0x07, 0, CPU_FPU, 0, 0}, - {"loopnzq", loopq_insn, 4, SUF_Z, 0x00, 0x40, 0, ONLY_64, 0, 0, 0}, - {"vcmpngt_uqps", ssecmp_128_insn, 3, SUF_Z, 0x1A, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"setsb", setcc_insn, 1, SUF_B, 0x08, 0, 0, 0, CPU_386, 0, 0}, - {"vpsignw", ssse3_insn, 5, SUF_Z, 0x09, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"scasl", onebyte_insn, 1, SUF_Z, 0xAF, 0x20, 0, 0, CPU_386, 0, 0}, - {"addb", arith_insn, 22, SUF_B, 0x00, 0x00, 0, 0, 0, 0, 0}, - {"jnc", jcc_insn, 9, SUF_Z, 0x03, 0, 0, 0, 0, 0, 0}, - {"cmpeqsd", ssecmp_64_insn, 4, SUF_Z, 0x00, 0xF2, 0, 0, CPU_SSE2, 0, 0}, - {"maxss", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x5F, 0, 0, CPU_SSE, 0, 0}, - {"lodsl", onebyte_insn, 1, SUF_Z, 0xAD, 0x20, 0, 0, CPU_386, 0, 0}, - {"lahf", onebyte_insn, 1, SUF_Z, 0x9F, 0, 0, 0, 0, 0, 0}, - {"setp", setcc_insn, 1, SUF_Z, 0x0A, 0, 0, 0, CPU_386, 0, 0}, - {"vpunpcklwd", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x61, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vmwritel", vmxmemwr_insn, 2, SUF_L, 0, 0, 0, NOT_64, CPU_P4, 0, 0}, - {"blendps", sse4imm_insn, 2, SUF_Z, 0x0C, 0, 0, 0, CPU_SSE41, 0, 0}, - {"vmcall", threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xC1, 0, CPU_P4, 0, 0}, - {"pushq", push_insn, 35, SUF_Q, 0, 0, 0, ONLY_64, 0, 0, 0}, - {"vcmpnleps", ssecmp_128_insn, 3, SUF_Z, 0x06, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vpcomtrueuw", vpcom_insn, 1, SUF_Z, 0xED, 0x07, 0, 0, CPU_XOP, 0, 0}, - {"pmuldq", sse4_insn, 2, SUF_Z, 0x28, 0, 0, 0, CPU_SSE41, 0, 0}, - {"cmpl", arith_insn, 22, SUF_L, 0x38, 0x07, 0, 0, CPU_386, 0, 0}, - {"pfmin", now3d_insn, 1, SUF_Z, 0x94, 0, 0, 0, CPU_3DNow, 0, 0}, - {"fldpi", twobyte_insn, 1, SUF_Z, 0xD9, 0xEB, 0, 0, CPU_FPU, 0, 0}, - {"vcvtsi2sdl", cvt_xmm_rmx_insn, 6, SUF_L, 0xF2, 0x2A, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vpsraw", vpshift_insn, 8, SUF_Z, 0xE1, 0x71, 0x04, ONLY_AVX, CPU_AVX, 0, 0}, - {"vcvtps2ph", avx_cvtps2ph_insn, 4, SUF_Z, 0x66, 0x1D, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"subq", arith_insn, 22, SUF_Q, 0x28, 0x05, 0, ONLY_64, 0, 0, 0}, - {"fsubrs", farith_insn, 7, SUF_S, 0xE0, 0xE8, 0x05, 0, CPU_FPU, 0, 0}, - {"xchgq", xchg_insn, 16, SUF_Q, 0, 0, 0, ONLY_64, 0, 0, 0}, - {"cmovsq", cmovcc_insn, 3, SUF_Q, 0x08, 0, 0, ONLY_64, CPU_686, 0, 0}, - {"shldq", shlrd_insn, 9, SUF_Q, 0xA4, 0, 0, ONLY_64, CPU_386, 0, 0}, - {"leaveq", onebyte_insn, 1, SUF_Z, 0xC9, 0x00, 0x40, ONLY_64, 0, 0, 0}, - {"stc", onebyte_insn, 1, SUF_Z, 0xF9, 0, 0, 0, 0, 0, 0}, - {"fsave", twobytemem_insn, 1, SUF_Z, 0x06, 0x9B, 0xDD, 0, CPU_FPU, 0, 0}, - {"rclb", shift_insn, 16, SUF_B, 0x02, 0, 0, 0, 0, 0, 0}, - {"fisubrl", fiarith_insn, 2, SUF_L, 0x05, 0xDA, 0, 0, CPU_FPU, 0, 0}, - {"vpsrlvd", vpshiftv_vexw0_avx2_insn, 2, SUF_Z, 0x45, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, - {"fstenvl", twobytemem_insn, 1, SUF_L, 0x06, 0x9B, 0xD9, 0, CPU_FPU, 0, 0}, - {"paddsb", mmxsse2_insn, 2, SUF_Z, 0xEC, 0, 0, 0, CPU_MMX, 0, 0}, - {"vmwriteq", vmxmemwr_insn, 2, SUF_Q, 0, 0, 0, ONLY_64, CPU_P4, 0, 0}, - {"ud2", twobyte_insn, 1, SUF_Z, 0x0F, 0x0B, 0, 0, CPU_286, 0, 0}, - {"vfmaddsub132pd", vfma_pd_insn, 2, SUF_Z, 0x96, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"sti", onebyte_insn, 1, SUF_Z, 0xFB, 0, 0, 0, 0, 0, 0}, - {"shld", shlrd_insn, 9, SUF_Z, 0xA4, 0, 0, 0, CPU_386, 0, 0}, - {"vpabsd", avx2_ssse3_2op_insn, 2, SUF_Z, 0x1E, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"mwait", threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xC9, 0, CPU_SSE3, 0, 0}, - {"cvtsi2sd", cvt_xmm_rmx_insn, 6, SUF_Z, 0xF2, 0x2A, 0, 0, CPU_SSE2, 0, 0}, - {"cmovnp", cmovcc_insn, 3, SUF_Z, 0x0B, 0, 0, 0, CPU_686, 0, 0}, - {"vcvtpd2dq", avx_cvt_xmm128_insn, 2, SUF_Z, 0xF2, 0xE6, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"pmovsxbw", sse4m64_insn, 4, SUF_Z, 0x20, 0, 0, 0, CPU_SSE41, 0, 0}, - {"fisubl", fiarith_insn, 2, SUF_L, 0x04, 0xDA, 0, 0, CPU_FPU, 0, 0}, - {"daa", onebyte_insn, 1, SUF_Z, 0x27, 0, 0, NOT_64, 0, 0, 0}, - {"fdivrl", farith_insn, 7, SUF_L, 0xF0, 0xF8, 0x07, 0, CPU_FPU, 0, 0}, - {"stac", threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xCB, 0, CPU_SMAP, 0, 0}, - {"testw", test_insn, 20, SUF_W, 0, 0, 0, 0, 0, 0, 0}, - {"movzwl", movszx_insn, 5, SUF_W, 0xB6, 0, 0, 0, CPU_386, 0, 0}, - {"vpblendw", sse4imm_256avx2_insn, 4, SUF_Z, 0x0E, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vpcomgtuq", vpcom_insn, 1, SUF_Z, 0xEF, 0x02, 0, 0, CPU_XOP, 0, 0}, - {"setnaeb", setcc_insn, 1, SUF_B, 0x02, 0, 0, 0, CPU_386, 0, 0}, - {"pextrwq", pextrw_insn, 7, SUF_Q, 0, 0, 0, ONLY_64, CPU_MMX, CPU_P3, 0}, - {"lodsq", onebyte_insn, 1, SUF_Z, 0xAD, 0x40, 0, ONLY_64, 0, 0, 0}, - {"fincstp", twobyte_insn, 1, SUF_Z, 0xD9, 0xF7, 0, 0, CPU_FPU, 0, 0}, - {"cmovlew", cmovcc_insn, 3, SUF_W, 0x0E, 0, 0, 0, CPU_686, 0, 0}, - {"insertq", insertq_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_SSE4a, 0, 0}, - {"notl", f6_insn, 4, SUF_L, 0x02, 0, 0, 0, CPU_386, 0, 0}, - {"vfnmadd132sd", vfma_sd_insn, 2, SUF_Z, 0x9D, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"cmova", cmovcc_insn, 3, SUF_Z, 0x07, 0, 0, 0, CPU_686, 0, 0}, - {"fstcw", fstcw_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_FPU, 0, 0}, - {"vpclmullqhqdq", pclmulqdq_fixed_insn, 2, SUF_Z, 0x10, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"movnti", movnti_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_P4, 0, 0}, - {"packusdw", sse4_insn, 2, SUF_Z, 0x2B, 0, 0, 0, CPU_SSE41, 0, 0}, - {"punpckhqdq", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x6D, 0, 0, CPU_SSE2, 0, 0}, - {"lzcntw", cnt_insn, 3, SUF_W, 0xBD, 0, 0, 0, CPU_LZCNT, 0, 0}, - {"pcmpistri", sse4pcmpstr_insn, 1, SUF_Z, 0x63, 0, 0, 0, CPU_SSE42, 0, 0}, - {"fimull", fiarith_insn, 2, SUF_L, 0x01, 0xDA, 0, 0, CPU_FPU, 0, 0}, - {"fnstenv", onebytemem_insn, 1, SUF_Z, 0x06, 0xD9, 0, 0, CPU_FPU, 0, 0}, - {"cmovncw", cmovcc_insn, 3, SUF_W, 0x03, 0, 0, 0, CPU_686, 0, 0}, - {"leaw", lea_insn, 3, SUF_W, 0, 0, 0, 0, 0, 0, 0}, - {"vfmadd132ss", vfma_ss_insn, 2, SUF_Z, 0x99, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"pshufd", xmm_xmm128_imm_insn, 1, SUF_Z, 0x66, 0x70, 0, 0, CPU_SSE2, 0, 0}, - {"blsil", vex_gpr_ndd_rm_0F38_regext_insn, 2, SUF_L, 0x00, 0xF3, 0x03, ONLY_AVX, CPU_BMI1, 0, 0}, - {"stosl", onebyte_insn, 1, SUF_Z, 0xAB, 0x20, 0, 0, CPU_386, 0, 0}, - {"mulq", f6_insn, 4, SUF_Q, 0x04, 0, 0, ONLY_64, 0, 0, 0}, - {"cmovbl", cmovcc_insn, 3, SUF_L, 0x02, 0, 0, 0, CPU_686, 0, 0}, - {"vpmaxsd", ssse3_insn, 5, SUF_Z, 0x3D, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"rsqrtps", xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x52, 0, 0, CPU_SSE, 0, 0}, - {"ror", shift_insn, 16, SUF_Z, 0x01, 0, 0, 0, 0, 0, 0}, - {"vcmptrue_usss", ssecmp_32_insn, 4, SUF_Z, 0x1F, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vpermq", vperm_imm_avx2_insn, 1, SUF_Z, 0x00, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, - {"xcryptofb", padlock_insn, 1, SUF_Z, 0xE8, 0xF3, 0xA7, 0, CPU_PadLock, 0, 0}, - {"btsl", bittest_insn, 6, SUF_L, 0xAB, 0x05, 0, 0, CPU_386, 0, 0}, - {"vfnmsub213ps", vfma_ps_insn, 2, SUF_Z, 0xAE, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"stmxcsr", ldstmxcsr_insn, 1, SUF_Z, 0x03, 0, 0, 0, CPU_SSE, 0, 0}, - {"vzeroupper", vzero_insn, 1, SUF_Z, 0xC0, 0, 0, 0, CPU_AVX, 0, 0}, - {"adcx", vex_gpr_ndd_rm_0F38_insn, 2, SUF_Z, 0x66, 0xF6, 0, 0, CPU_ADX, 0, 0}, - {"setnz", setcc_insn, 1, SUF_Z, 0x05, 0, 0, 0, CPU_386, 0, 0}, - {"fildl", fildstp_insn, 4, SUF_L, 0x00, 0x02, 0x05, 0, CPU_FPU, 0, 0}, - {"movlps", movhlp_insn, 3, SUF_Z, 0x00, 0x12, 0, 0, CPU_SSE, 0, 0}, - {"vmovmskpdq", movmsk_insn, 4, SUF_Q, 0x66, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"cmovngw", cmovcc_insn, 3, SUF_W, 0x0E, 0, 0, 0, CPU_686, 0, 0}, - {"cltd", onebyte_insn, 1, SUF_Z, 0x99, 0x20, 0, 0, CPU_386, 0, 0}, - {"fmuls", farith_insn, 7, SUF_S, 0xC8, 0xC8, 0x01, 0, CPU_FPU, 0, 0}, - {"fcom", fcom_insn, 6, SUF_Z, 0xD0, 0x02, 0, 0, CPU_FPU, 0, 0}, - {"andq", arith_insn, 22, SUF_Q, 0x20, 0x04, 0, ONLY_64, 0, 0, 0}, - {"vfmaddps", fma_128_256_insn, 4, SUF_Z, 0x68, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0}, - {"fst", fst_insn, 3, SUF_Z, 0, 0, 0, 0, CPU_FPU, 0, 0}, - {"vmaskmovpd", vmaskmov_insn, 4, SUF_Z, 0x2D, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"cld", onebyte_insn, 1, SUF_Z, 0xFC, 0, 0, 0, 0, 0, 0}, - {"vpinsrd", pinsrd_insn, 2, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"xchgl", xchg_insn, 16, SUF_L, 0, 0, 0, 0, 0, 0, 0}, - {"vcmpgtpd", ssecmp_128_insn, 3, SUF_Z, 0x0E, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"cmovael", cmovcc_insn, 3, SUF_L, 0x03, 0, 0, 0, CPU_686, 0, 0}, - {"phaddsw", ssse3_insn, 5, SUF_Z, 0x03, 0, 0, 0, CPU_SSSE3, 0, 0}, - {"pclmullqlqdq", pclmulqdq_fixed_insn, 2, SUF_Z, 0x00, 0, 0, 0, CPU_AVX, 0, 0}, - {"cmovnleq", cmovcc_insn, 3, SUF_Q, 0x0F, 0, 0, ONLY_64, CPU_686, 0, 0}, - {"pcmpeqb", mmxsse2_insn, 2, SUF_Z, 0x74, 0, 0, 0, CPU_MMX, 0, 0}, - {"word", NULL, X86_OPERSIZE>>8, 0x10, 0, 0, 0, 0, 0, 0, 0}, - {"blcmskq", xop_gpr_reg_rm_09_insn, 2, SUF_Q, 0x02, 0x01, 0, ONLY_64, CPU_TBM, 0, 0}, - {"vpcomgtud", vpcom_insn, 1, SUF_Z, 0xEE, 0x02, 0, 0, CPU_XOP, 0, 0}, - {"fsubr", farith_insn, 7, SUF_Z, 0xE0, 0xE8, 0x05, 0, CPU_FPU, 0, 0}, - {"cmovp", cmovcc_insn, 3, SUF_Z, 0x0A, 0, 0, 0, CPU_686, 0, 0}, - {"shrq", shift_insn, 16, SUF_Q, 0x05, 0, 0, ONLY_64, 0, 0, 0}, - {"vpcomgtd", vpcom_insn, 1, SUF_Z, 0xCE, 0x02, 0, 0, CPU_XOP, 0, 0}, - {"vfnmsub132sd", vfma_sd_insn, 2, SUF_Z, 0x9F, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"vpor", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xEB, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"psllw", pshift_insn, 4, SUF_Z, 0xF1, 0x71, 0x06, 0, CPU_MMX, 0, 0}, - {"fbld", fbldstp_insn, 1, SUF_Z, 0x04, 0, 0, 0, CPU_FPU, 0, 0}, - {"subw", arith_insn, 22, SUF_W, 0x28, 0x05, 0, 0, 0, 0, 0}, - {"vmovhlps", movhllhps_insn, 2, SUF_Z, 0x12, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"cmovleq", cmovcc_insn, 3, SUF_Q, 0x0E, 0, 0, ONLY_64, CPU_686, 0, 0}, - {"imulw", imul_insn, 19, SUF_W, 0, 0, 0, 0, 0, 0, 0}, - {"cvttss2siq", cvt_rx_xmm32_insn, 4, SUF_Q, 0xF3, 0x2C, 0, ONLY_64, CPU_SSE, 0, 0}, - {"vgatherqpd", gather_64x_64y_insn, 2, SUF_Z, 0x93, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, - {"imulq", imul_insn, 19, SUF_Q, 0, 0, 0, ONLY_64, 0, 0, 0}, - {"ret", retnf_insn, 6, SUF_Z, 0xC2, 0, 0, 0, 0, 0, 0}, - {"vphminposuw", avx_ssse3_2op_insn, 1, SUF_Z, 0x41, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"cmpneqsd", ssecmp_64_insn, 4, SUF_Z, 0x04, 0xF2, 0, 0, CPU_SSE2, 0, 0}, - {"jae", jcc_insn, 9, SUF_Z, 0x03, 0, 0, 0, 0, 0, 0}, - {"vpavgb", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xE0, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"cwtd", onebyte_insn, 1, SUF_Z, 0x99, 0x10, 0, 0, 0, 0, 0}, - {"movddup", xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x12, 0, 0, CPU_SSE3, 0, 0}, - {"vpcomud", vpcom_imm_insn, 1, SUF_Z, 0xEE, 0, 0, 0, CPU_XOP, 0, 0}, - {"vpmovzxwd", sse4m64_insn, 4, SUF_Z, 0x33, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vfnmsubss", fma_128_m32_insn, 3, SUF_Z, 0x7E, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0}, - {"cmovgew", cmovcc_insn, 3, SUF_W, 0x0D, 0, 0, 0, CPU_686, 0, 0}, - {"bzhi", vex_gpr_reg_rm_nds_0F_insn, 2, SUF_Z, 0x00, 0x38, 0xF5, ONLY_AVX, CPU_BMI2, 0, 0}, - {"setab", setcc_insn, 1, SUF_B, 0x07, 0, 0, 0, CPU_386, 0, 0}, - {"rsqrtss", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x52, 0, 0, CPU_SSE, 0, 0}, - {"vfmaddsub213pd", vfma_pd_insn, 2, SUF_Z, 0xA6, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"montmul", padlock_insn, 1, SUF_Z, 0xC0, 0xF3, 0xA6, 0, CPU_PadLock, 0, 0}, - {"rcrq", shift_insn, 16, SUF_Q, 0x03, 0, 0, ONLY_64, 0, 0, 0}, - {"vpaddsb", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xEC, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vbroadcastss", vbroadcastss_insn, 4, SUF_Z, 0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"cmovnz", cmovcc_insn, 3, SUF_Z, 0x05, 0, 0, 0, CPU_686, 0, 0}, - {"cmpxchgw", cmpxchgxadd_insn, 4, SUF_W, 0xB0, 0, 0, 0, CPU_486, 0, 0}, - {"fcompp", twobyte_insn, 1, SUF_Z, 0xDE, 0xD9, 0, 0, CPU_FPU, 0, 0}, - {"vpshab", amd_vpshift_insn, 2, SUF_Z, 0x98, 0, 0, 0, CPU_XOP, 0, 0}, - {"vaddpd", xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x58, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vcvtsi2ssq", cvt_xmm_rmx_insn, 6, SUF_Q, 0xF3, 0x2A, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"clc", onebyte_insn, 1, SUF_Z, 0xF8, 0, 0, 0, 0, 0, 0}, - {"cmovlw", cmovcc_insn, 3, SUF_W, 0x0C, 0, 0, 0, CPU_686, 0, 0}, - {"lgdt", twobytemem_insn, 1, SUF_Z, 0x02, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0}, - {"getsec", twobyte_insn, 1, SUF_Z, 0x0F, 0x37, 0, 0, CPU_SMX, 0, 0}, - {"blsrl", vex_gpr_ndd_rm_0F38_regext_insn, 2, SUF_L, 0x00, 0xF3, 0x01, ONLY_AVX, CPU_BMI1, 0, 0}, - {"vpsignb", ssse3_insn, 5, SUF_Z, 0x08, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"pblendw", sse4imm_insn, 2, SUF_Z, 0x0E, 0, 0, 0, CPU_SSE41, 0, 0}, - {"vmovlhps", movhllhps_insn, 2, SUF_Z, 0x16, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"svdc", svdc_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_486, CPU_Cyrix, CPU_SMM}, - {"vmovlpd", movhlp_insn, 3, SUF_Z, 0x66, 0x12, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vdppd", sse4imm_insn, 2, SUF_Z, 0x41, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"xbegin", tsx_xbegin_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_386, CPU_TSX, 0}, - {"sldtq", sldtmsw_insn, 6, SUF_Q, 0x00, 0x00, 0, ONLY_64, CPU_286, 0, 0}, - {"vpcmpeqb", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x74, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"cmpnless", ssecmp_32_insn, 4, SUF_Z, 0x06, 0xF3, 0, 0, CPU_SSE, 0, 0}, - {"fprem1", twobyte_insn, 1, SUF_Z, 0xD9, 0xF5, 0, 0, CPU_286, CPU_FPU, 0}, - {"lssl", lfgss_insn, 3, SUF_L, 0xB2, 0, 0, 0, CPU_386, 0, 0}, - {"inw", in_insn, 12, SUF_W, 0, 0, 0, 0, 0, 0, 0}, - {"bzhiq", vex_gpr_reg_rm_nds_0F_insn, 2, SUF_Q, 0x00, 0x38, 0xF5, ONLY_64|ONLY_AVX, CPU_BMI2, 0, 0}, - {"pop", pop_insn, 23, SUF_Z, 0, 0, 0, 0, 0, 0, 0}, - {"vblendps", sse4imm_256_insn, 4, SUF_Z, 0x0C, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"flds", fld_insn, 4, SUF_S, 0, 0, 0, 0, CPU_FPU, 0, 0}, - {"movsxw", movszx_insn, 5, SUF_W, 0xBE, 0, 0, 0, CPU_386, 0, 0}, - {"movabsw", movabs_insn, 9, SUF_W, 0, 0, 0, ONLY_64, 0, 0, 0}, - {"divps", xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x5E, 0, 0, CPU_SSE, 0, 0}, - {"vpcomfalseb", vpcom_insn, 1, SUF_Z, 0xCC, 0x06, 0, 0, CPU_XOP, 0, 0}, - {"vcmpsd", cmpsd_insn, 5, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vpcmpgtq", ssse3_insn, 5, SUF_Z, 0x37, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"setbb", setcc_insn, 1, SUF_B, 0x02, 0, 0, 0, CPU_386, 0, 0}, - {"shrw", shift_insn, 16, SUF_W, 0x05, 0, 0, 0, 0, 0, 0}, - {"andpd", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x54, 0, 0, CPU_SSE2, 0, 0}, - {"vaesdeclast", aes_insn, 2, SUF_Z, 0x38, 0xDF, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"testb", test_insn, 20, SUF_B, 0, 0, 0, 0, 0, 0, 0}, - {"vfmsub231ss", vfma_ss_insn, 2, SUF_Z, 0xBB, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"rexxz", NULL, X86_REX>>8, 0x45, 0, 0, 0, ONLY_64, 0, 0, 0}, - {"cmpnlepd", ssecmp_128_insn, 3, SUF_Z, 0x06, 0x66, 0, 0, CPU_SSE, 0, 0}, - {"lidt", twobytemem_insn, 1, SUF_Z, 0x03, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0}, - {"vfmsubps", fma_128_256_insn, 4, SUF_Z, 0x6C, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0}, - {"svldt", cyrixsmm_insn, 1, SUF_Z, 0x7A, 0, 0, 0, CPU_486, CPU_Cyrix, CPU_SMM}, - {"rclw", shift_insn, 16, SUF_W, 0x02, 0, 0, 0, 0, 0, 0}, - {"vphsubbw", vphaddsub_insn, 1, SUF_Z, 0xE1, 0, 0, 0, CPU_XOP, 0, 0}, - {"vcmpnge_uqss", ssecmp_32_insn, 4, SUF_Z, 0x19, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"movswq", movszx_insn, 5, SUF_W, 0xBE, 0, 0, ONLY_64, CPU_386, 0, 0}, - {"blcic", xop_gpr_reg_rm_09_insn, 2, SUF_Z, 0x01, 0x05, 0, 0, CPU_386, CPU_TBM, 0}, - {"setns", setcc_insn, 1, SUF_Z, 0x09, 0, 0, 0, CPU_386, 0, 0}, - {"vcmpneq_oqps", ssecmp_128_insn, 3, SUF_Z, 0x0C, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"rorb", shift_insn, 16, SUF_B, 0x01, 0, 0, 0, 0, 0, 0}, - {"vpcomgtuw", vpcom_insn, 1, SUF_Z, 0xED, 0x02, 0, 0, CPU_XOP, 0, 0}, - {"vfmsubss", fma_128_m32_insn, 3, SUF_Z, 0x6E, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0}, - {"vpperm", vpperm_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_XOP, 0, 0}, - {"cmpxchg", cmpxchgxadd_insn, 4, SUF_Z, 0xB0, 0, 0, 0, CPU_486, 0, 0}, - {"setnbeb", setcc_insn, 1, SUF_B, 0x07, 0, 0, 0, CPU_386, 0, 0}, - {"vmovsd", movsd_insn, 5, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vrcpss", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x53, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"pmovzxbd", sse4m32_insn, 4, SUF_Z, 0x31, 0, 0, 0, CPU_SSE41, 0, 0}, - {"vroundpd", avx_sse4imm_insn, 3, SUF_Z, 0x09, 0, 0, ONLY_AVX, CPU_SSE41, 0, 0}, - {"popl", pop_insn, 23, SUF_L, 0, 0, 0, NOT_64, CPU_386, 0, 0}, - {"fisttpll", fildstp_insn, 4, SUF_Q, 0x07, 0, 0, 0, CPU_SSE3, 0, 0}, - {"vaddsubpd", xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0xD0, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vfmadd132ps", vfma_ps_insn, 2, SUF_Z, 0x98, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"blcfill", xop_gpr_reg_rm_09_insn, 2, SUF_Z, 0x01, 0x01, 0, 0, CPU_386, CPU_TBM, 0}, - {"vandnpd", xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x55, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"sbbb", arith_insn, 22, SUF_B, 0x18, 0x03, 0, 0, 0, 0, 0}, - {"vcmpfalseps", ssecmp_128_insn, 3, SUF_Z, 0x0B, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"popcnt", cnt_insn, 3, SUF_Z, 0xB8, 0, 0, 0, CPU_SSE42, 0, 0}, - {"vpcomnequd", vpcom_insn, 1, SUF_Z, 0xEE, 0x05, 0, 0, CPU_XOP, 0, 0}, - {"adcq", arith_insn, 22, SUF_Q, 0x10, 0x02, 0, ONLY_64, 0, 0, 0}, - {"vpcomequw", vpcom_insn, 1, SUF_Z, 0xED, 0x04, 0, 0, CPU_XOP, 0, 0}, - {"prefetcht1", twobytemem_insn, 1, SUF_Z, 0x02, 0x0F, 0x18, 0, CPU_P3, 0, 0}, - {"movdqa", movau_insn, 6, SUF_Z, 0x66, 0x6F, 0x10, 0, CPU_SSE2, 0, 0}, - {"vmovq", vmovq_insn, 5, SUF_Z, 0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"cmpxchg16b", cmpxchg16b_insn, 1, SUF_Z, 0, 0, 0, ONLY_64, 0, 0, 0}, - {"smovq", onebyte_insn, 1, SUF_Z, 0xA5, 0x40, 0, ONLY_64, 0, 0, 0}, - {"fildq", fildstp_insn, 4, SUF_Q, 0x00, 0x02, 0x05, 0, CPU_FPU, 0, 0}, - {"ficoml", fiarith_insn, 2, SUF_L, 0x02, 0xDA, 0, 0, CPU_FPU, 0, 0}, - {"cmovae", cmovcc_insn, 3, SUF_Z, 0x03, 0, 0, 0, CPU_686, 0, 0}, - {"vaddsd", xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x58, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"movb", mov_insn, 69, SUF_B, 0, 0, 0, 0, 0, 0, 0}, - {"fist", fiarith_insn, 2, SUF_Z, 0x02, 0xDB, 0, 0, CPU_FPU, 0, 0}, - {"vpcomb", vpcom_imm_insn, 1, SUF_Z, 0xCC, 0, 0, 0, CPU_XOP, 0, 0}, - {"vcmpneq_oqss", ssecmp_32_insn, 4, SUF_Z, 0x0C, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"xorpd", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x57, 0, 0, CPU_SSE2, 0, 0}, - {"cmpsd", cmpsd_insn, 5, SUF_Z, 0, 0, 0, 0, 0, 0, 0}, - {"movabs", movabs_insn, 9, SUF_Z, 0, 0, 0, ONLY_64, 0, 0, 0}, - {"jrcxz", jcxz_insn, 2, SUF_Z, 0x40, 0, 0, ONLY_64, 0, 0, 0}, - {"vmovhpd", movhlp_insn, 3, SUF_Z, 0x66, 0x16, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"cmovpq", cmovcc_insn, 3, SUF_Q, 0x0A, 0, 0, ONLY_64, CPU_686, 0, 0}, - {"vpsubw", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xF9, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"smovl", onebyte_insn, 1, SUF_Z, 0xA5, 0x20, 0, 0, CPU_386, 0, 0}, - {"and", arith_insn, 22, SUF_Z, 0x20, 0x04, 0, 0, 0, 0, 0}, - {"andw", arith_insn, 22, SUF_W, 0x20, 0x04, 0, 0, 0, 0, 0}, - {"cmpleps", ssecmp_128_insn, 3, SUF_Z, 0x02, 0, 0, 0, CPU_SSE, 0, 0}, - {"vpmovzxdq", sse4m64_insn, 4, SUF_Z, 0x35, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"subss", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x5C, 0, 0, CPU_SSE, 0, 0}, - {"vpcomtrueq", vpcom_insn, 1, SUF_Z, 0xCF, 0x07, 0, 0, CPU_XOP, 0, 0}, - {"fldl2e", twobyte_insn, 1, SUF_Z, 0xD9, 0xEA, 0, 0, CPU_FPU, 0, 0}, - {"negw", f6_insn, 4, SUF_W, 0x03, 0, 0, 0, 0, 0, 0}, - {"fidivl", fiarith_insn, 2, SUF_L, 0x06, 0xDA, 0, 0, CPU_FPU, 0, 0}, - {"setnc", setcc_insn, 1, SUF_Z, 0x03, 0, 0, 0, CPU_386, 0, 0}, - {"clts", twobyte_insn, 1, SUF_Z, 0x0F, 0x06, 0, 0, CPU_286, CPU_Priv, 0}, - {"vcmpgtps", ssecmp_128_insn, 3, SUF_Z, 0x0E, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"setnl", setcc_insn, 1, SUF_Z, 0x0D, 0, 0, 0, CPU_386, 0, 0}, - {"vphaddd", ssse3_insn, 5, SUF_Z, 0x02, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vpcomneub", vpcom_insn, 1, SUF_Z, 0xEC, 0x05, 0, 0, CPU_XOP, 0, 0}, - {"cmp", arith_insn, 22, SUF_Z, 0x38, 0x07, 0, 0, 0, 0, 0}, - {"fstsww", fstsw_insn, 2, SUF_W, 0, 0, 0, 0, CPU_FPU, 0, 0}, - {"cmpordpd", ssecmp_128_insn, 3, SUF_Z, 0x07, 0x66, 0, 0, CPU_SSE, 0, 0}, - {"punpckhbw", mmxsse2_insn, 2, SUF_Z, 0x68, 0, 0, 0, CPU_MMX, 0, 0}, - {"svts", cyrixsmm_insn, 1, SUF_Z, 0x7C, 0, 0, 0, CPU_486, CPU_Cyrix, CPU_SMM}, - {"cmpq", arith_insn, 22, SUF_Q, 0x38, 0x07, 0, ONLY_64, 0, 0, 0}, - {"cmovbq", cmovcc_insn, 3, SUF_Q, 0x02, 0, 0, ONLY_64, CPU_686, 0, 0}, - {"ficomp", fiarith_insn, 2, SUF_Z, 0x03, 0xDA, 0, 0, CPU_FPU, 0, 0}, - {"vmmcall", threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xD9, 0, CPU_SVM, 0, 0}, - {"cqo", onebyte_insn, 1, SUF_Z, 0x99, 0x40, 0, ONLY_64, 0, 0, 0}, - {"vcmpnlepd", ssecmp_128_insn, 3, SUF_Z, 0x06, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"setnb", setcc_insn, 1, SUF_Z, 0x03, 0, 0, 0, CPU_386, 0, 0}, - {"vpsllvd", vpshiftv_vexw0_avx2_insn, 2, SUF_Z, 0x47, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, - {"vcmplt_oqpd", ssecmp_128_insn, 3, SUF_Z, 0x11, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"pextrw", pextrw_insn, 7, SUF_Z, 0, 0, 0, 0, CPU_MMX, CPU_P3, 0}, - {"loopzl", loopl_insn, 4, SUF_Z, 0x01, 0x20, 0, 0, 0, 0, 0}, - {"retq", retnf_insn, 6, SUF_Z, 0xC2, 0, 0, ONLY_64, 0, 0, 0}, - {"vcmpordsd", ssecmp_64_insn, 4, SUF_Z, 0x07, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"seteb", setcc_insn, 1, SUF_B, 0x04, 0, 0, 0, CPU_386, 0, 0}, - {"vmxoff", threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xC4, 0, CPU_P4, 0, 0}, - {"pfcmpeq", now3d_insn, 1, SUF_Z, 0xB0, 0, 0, 0, CPU_3DNow, 0, 0}, - {"pmovsxbq", sse4m16_insn, 4, SUF_Z, 0x22, 0, 0, 0, CPU_SSE41, 0, 0}, - {"vfnmadd231ss", vfma_ss_insn, 2, SUF_Z, 0xBD, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"loopel", loopl_insn, 4, SUF_Z, 0x01, 0x20, 0, 0, 0, 0, 0}, - {"pause", onebyte_prefix_insn, 1, SUF_Z, 0xF3, 0x90, 0, 0, CPU_P4, 0, 0}, - {"addps", xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x58, 0, 0, CPU_SSE, 0, 0}, - {"vcmpfalse_ossd", ssecmp_64_insn, 4, SUF_Z, 0x1B, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"rcr", shift_insn, 16, SUF_Z, 0x03, 0, 0, 0, 0, 0, 0}, - {"vfmadd213pd", vfma_pd_insn, 2, SUF_Z, 0xA8, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"xchg", xchg_insn, 16, SUF_Z, 0, 0, 0, 0, 0, 0, 0}, - {"ucomiss", xmm_xmm32_insn, 4, SUF_Z, 0x00, 0x2E, 0, 0, CPU_SSE, 0, 0}, - {"popq", pop_insn, 23, SUF_Q, 0, 0, 0, ONLY_64, 0, 0, 0}, - {"lfsq", lfgss_insn, 3, SUF_Q, 0xB4, 0, 0, ONLY_64, CPU_386, 0, 0}, - {"vcmpneq_usss", ssecmp_32_insn, 4, SUF_Z, 0x14, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"crc32w", crc32_insn, 5, SUF_W, 0, 0, 0, 0, CPU_386, CPU_SSE42, 0}, - {"setngeb", setcc_insn, 1, SUF_B, 0x0C, 0, 0, 0, CPU_386, 0, 0}, - {"vpalignr", sse4imm_256avx2_insn, 4, SUF_Z, 0x0F, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vpcomtrueuq", vpcom_insn, 1, SUF_Z, 0xEF, 0x07, 0, 0, CPU_XOP, 0, 0}, - {"pinsrb", pinsrb_insn, 4, SUF_Z, 0, 0, 0, 0, CPU_SSE41, 0, 0}, - {"movshdup", xmm_xmm128_insn, 2, SUF_Z, 0xF3, 0x16, 0, 0, CPU_SSE3, 0, 0}, - {"cmovll", cmovcc_insn, 3, SUF_L, 0x0C, 0, 0, 0, CPU_686, 0, 0}, - {"vpextrd", pextrd_insn, 1, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"lgdtl", twobytemem_insn, 1, SUF_L, 0x02, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0}, - {"vpblendvb", avx2_sse4xmm0_insn, 2, SUF_Z, 0x4C, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, - {"setlb", setcc_insn, 1, SUF_B, 0x0C, 0, 0, 0, CPU_386, 0, 0}, - {"vfmsubadd213ps", vfma_ps_insn, 2, SUF_Z, 0xA7, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"unpckhpd", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x15, 0, 0, CPU_SSE2, 0, 0}, - {"vpcomfalseud", vpcom_insn, 1, SUF_Z, 0xEE, 0x06, 0, 0, CPU_XOP, 0, 0}, - {"cmovnlq", cmovcc_insn, 3, SUF_Q, 0x0D, 0, 0, ONLY_64, CPU_686, 0, 0}, - {"cmovge", cmovcc_insn, 3, SUF_Z, 0x0D, 0, 0, 0, CPU_686, 0, 0}, - {"movabsb", movabs_insn, 9, SUF_B, 0, 0, 0, ONLY_64, 0, 0, 0}, - {"popa", onebyte_insn, 1, SUF_Z, 0x61, 0x00, 0, NOT_64, CPU_186, 0, 0}, - {"invvpid", eptvpid_insn, 2, SUF_Z, 0x01, 0, 0, 0, CPU_386, CPU_EPTVPID, 0}, - {"vpcomneud", vpcom_insn, 1, SUF_Z, 0xEE, 0x05, 0, 0, CPU_XOP, 0, 0}, - {"blsrq", vex_gpr_ndd_rm_0F38_regext_insn, 2, SUF_Q, 0x00, 0xF3, 0x01, ONLY_64|ONLY_AVX, CPU_BMI1, 0, 0}, - {"ljmpl", ljmpcall_insn, 7, SUF_L, 0x05, 0xEA, 0, 0, CPU_386, 0, 0}, - {"movzx", movszx_insn, 5, SUF_Z, 0xB6, 0, 0, 0, CPU_386, 0, 0}, - {"pi2fd", now3d_insn, 1, SUF_Z, 0x0D, 0, 0, 0, CPU_3DNow, 0, 0}, - {"setng", setcc_insn, 1, SUF_Z, 0x0E, 0, 0, 0, CPU_386, 0, 0}, - {"vpcomfalsed", vpcom_insn, 1, SUF_Z, 0xCE, 0x06, 0, 0, CPU_XOP, 0, 0}, - {"vpabsb", avx2_ssse3_2op_insn, 2, SUF_Z, 0x1C, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vcmpgesd", ssecmp_64_insn, 4, SUF_Z, 0x0D, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vfnmaddsd", fma_128_m64_insn, 3, SUF_Z, 0x7B, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0}, - {"rdgsbase", fs_gs_base_insn, 2, SUF_Z, 0x01, 0, 0, ONLY_64, CPU_FSGSBASE, 0, 0}, - {"testl", test_insn, 20, SUF_L, 0, 0, 0, 0, CPU_386, 0, 0}, - {"vsubsd", xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x5C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"shrxl", vex_gpr_reg_rm_nds_0F_insn, 2, SUF_L, 0xF2, 0x38, 0xF7, ONLY_AVX, CPU_BMI2, 0, 0}, - {"enter", enter_insn, 3, SUF_Z, 0, 0, 0, 0, CPU_186, 0, 0}, - {"vpmacsdqh", vpma_insn, 1, SUF_Z, 0x9F, 0, 0, 0, CPU_XOP, 0, 0}, - {"vfnmadd213ss", vfma_ss_insn, 2, SUF_Z, 0xAD, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"setaeb", setcc_insn, 1, SUF_B, 0x03, 0, 0, 0, CPU_386, 0, 0}, - {"vpgatherdq", gather_64x_64x_insn, 2, SUF_Z, 0x90, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, - {"cmpxchg8b", cmpxchg8b_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_586, 0, 0}, - {"cvttps2pi", cvt_mm_xmm64_insn, 2, SUF_Z, 0x2C, 0, 0, 0, CPU_SSE, 0, 0}, - {"pmovmskb", pmovmskb_insn, 6, SUF_Z, 0, 0, 0, 0, CPU_MMX, CPU_P3, 0}, - {"fdivp", farithp_insn, 3, SUF_Z, 0xF0, 0, 0, 0, CPU_FPU, 0, 0}, - {"vcmpnle_uqsd", ssecmp_64_insn, 4, SUF_Z, 0x16, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"cvtsd2si", cvt_rx_xmm64_insn, 4, SUF_Z, 0xF2, 0x2D, 0, 0, CPU_386, CPU_SSE2, 0}, - {"vpcomgeq", vpcom_insn, 1, SUF_Z, 0xCF, 0x03, 0, 0, CPU_XOP, 0, 0}, - {"vfnmadd132ss", vfma_ss_insn, 2, SUF_Z, 0x9D, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"vpmacssdql", vpma_insn, 1, SUF_Z, 0x87, 0, 0, 0, CPU_XOP, 0, 0}, - {"vpunpcklqdq", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x6C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"sysenter", twobyte_insn, 1, SUF_Z, 0x0F, 0x34, 0, NOT_64, CPU_686, 0, 0}, - {"popw", pop_insn, 23, SUF_W, 0, 0, 0, 0, 0, 0, 0}, - {"lodsw", onebyte_insn, 1, SUF_Z, 0xAD, 0x10, 0, 0, 0, 0, 0}, - {"vcmpgt_oqps", ssecmp_128_insn, 3, SUF_Z, 0x1E, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"pmovmskbl", pmovmskb_insn, 6, SUF_L, 0, 0, 0, 0, CPU_MMX, CPU_P3, 0}, - {"pinsrq", pinsrq_insn, 2, SUF_Z, 0, 0, 0, ONLY_64, CPU_SSE41, 0, 0}, - {"movsl", onebyte_insn, 1, SUF_Z, 0xA5, 0x20, 0, 0, CPU_386, 0, 0}, - {"vcmptrue_usps", ssecmp_128_insn, 3, SUF_Z, 0x1F, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"addr64", NULL, X86_ADDRSIZE>>8, 0x40, 0, 0, 0, ONLY_64, 0, 0, 0}, - {"fsin", twobyte_insn, 1, SUF_Z, 0xD9, 0xFE, 0, 0, CPU_286, CPU_FPU, 0}, - {"adoxl", vex_gpr_ndd_rm_0F38_insn, 2, SUF_L, 0xF3, 0xF6, 0, 0, CPU_ADX, 0, 0}, - {"vpcomnequq", vpcom_insn, 1, SUF_Z, 0xEF, 0x05, 0, 0, CPU_XOP, 0, 0}, - {"pfmax", now3d_insn, 1, SUF_Z, 0xA4, 0, 0, 0, CPU_3DNow, 0, 0}, - {"pfcmpge", now3d_insn, 1, SUF_Z, 0x90, 0, 0, 0, CPU_3DNow, 0, 0}, - {"loopnz", loop_insn, 8, SUF_Z, 0x00, 0, 0, 0, 0, 0, 0}, - {"vcmpnle_uqss", ssecmp_32_insn, 4, SUF_Z, 0x16, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"setpeb", setcc_insn, 1, SUF_B, 0x0A, 0, 0, 0, CPU_386, 0, 0}, - {"vextractps", extractps_insn, 2, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"jc", jcc_insn, 9, SUF_Z, 0x02, 0, 0, 0, 0, 0, 0}, - {"vpcomltq", vpcom_insn, 1, SUF_Z, 0xCF, 0x00, 0, 0, CPU_XOP, 0, 0}, - {"vfmsubsd", fma_128_m64_insn, 3, SUF_Z, 0x6F, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0}, - {"movmskpd", movmsk_insn, 4, SUF_Z, 0x66, 0, 0, 0, CPU_SSE2, 0, 0}, - {"vfmsubadd231ps", vfma_ps_insn, 2, SUF_Z, 0xB7, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"vcmpeq_usps", ssecmp_128_insn, 3, SUF_Z, 0x18, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"fistpl", fildstp_insn, 4, SUF_L, 0x03, 0x02, 0x07, 0, CPU_FPU, 0, 0}, - {"fistpll", fbldstp_insn, 1, SUF_Z, 0x07, 0, 0, 0, CPU_FPU, 0, 0}, - {"jnbe", jcc_insn, 9, SUF_Z, 0x07, 0, 0, 0, 0, 0, 0}, - {"pmovsxwq", sse4m32_insn, 4, SUF_Z, 0x24, 0, 0, 0, CPU_SSE41, 0, 0}, - {"vpcomgtub", vpcom_insn, 1, SUF_Z, 0xEC, 0x02, 0, 0, CPU_XOP, 0, 0}, - {"unpcklps", xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x14, 0, 0, CPU_SSE, 0, 0}, - {"btr", bittest_insn, 6, SUF_Z, 0xB3, 0x06, 0, 0, CPU_386, 0, 0}, - {"cmovnsw", cmovcc_insn, 3, SUF_W, 0x09, 0, 0, 0, CPU_686, 0, 0}, - {"sbbl", arith_insn, 22, SUF_L, 0x18, 0x03, 0, 0, CPU_386, 0, 0}, - {"idivq", div_insn, 8, SUF_Q, 0x07, 0, 0, ONLY_64, 0, 0, 0}, - {"strw", str_insn, 4, SUF_W, 0, 0, 0, 0, CPU_286, CPU_Prot, 0}, - {"psignw", ssse3_insn, 5, SUF_Z, 0x09, 0, 0, 0, CPU_SSSE3, 0, 0}, - {"vcvtsi2sdq", cvt_xmm_rmx_insn, 6, SUF_Q, 0xF2, 0x2A, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"setgb", setcc_insn, 1, SUF_B, 0x0F, 0, 0, 0, CPU_386, 0, 0}, - {"vpextrw", pextrw_insn, 7, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"cmoval", cmovcc_insn, 3, SUF_L, 0x07, 0, 0, 0, CPU_686, 0, 0}, - {"vpextrwq", pextrw_insn, 7, SUF_Q, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"sldtl", sldtmsw_insn, 6, SUF_L, 0x00, 0x00, 0, 0, CPU_386, 0, 0}, - {"vcmpunordss", ssecmp_32_insn, 4, SUF_Z, 0x03, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"aesenc", aes_insn, 2, SUF_Z, 0x38, 0xDC, 0, 0, CPU_AVX, 0, 0}, - {"pmaddubsw", ssse3_insn, 5, SUF_Z, 0x04, 0, 0, 0, CPU_SSSE3, 0, 0}, - {"cvtsi2ss", cvt_xmm_rmx_insn, 6, SUF_Z, 0xF3, 0x2A, 0, 0, CPU_386, CPU_SSE, 0}, - {"vphaddw", ssse3_insn, 5, SUF_Z, 0x01, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"repnz", NULL, X86_LOCKREP>>8, 0xF2, 0, 0, 0, 0, 0, 0, 0}, - {"fidivrl", fiarith_insn, 2, SUF_L, 0x07, 0xDA, 0, 0, CPU_FPU, 0, 0}, - {"fsqrt", twobyte_insn, 1, SUF_Z, 0xD9, 0xFA, 0, 0, CPU_FPU, 0, 0}, - {"fsetpm", twobyte_insn, 1, SUF_Z, 0xDB, 0xE4, 0, 0, CPU_286, CPU_FPU, CPU_Obs}, - {"insw", onebyte_insn, 1, SUF_Z, 0x6D, 0x10, 0, 0, 0, 0, 0}, - {"setbeb", setcc_insn, 1, SUF_B, 0x06, 0, 0, 0, CPU_386, 0, 0}, - {"vpsubb", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xF8, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"rex64xy", NULL, X86_REX>>8, 0x4E, 0, 0, 0, ONLY_64, 0, 0, 0}, - {"vpsrldq", pslrldq_insn, 4, SUF_Z, 0x03, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"xorq", arith_insn, 22, SUF_Q, 0x30, 0x06, 0, ONLY_64, 0, 0, 0}, - {"punpcklbw", mmxsse2_insn, 2, SUF_Z, 0x60, 0, 0, 0, CPU_MMX, 0, 0}, - {"rdtscp", threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xF9, 0, CPU_686, CPU_AMD, CPU_Priv}, - {"lfence", threebyte_insn, 1, SUF_Z, 0x0F, 0xAE, 0xE8, 0, CPU_P3, 0, 0}, - {"vpcmpestri", sse4pcmpstr_insn, 1, SUF_Z, 0x61, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"divpd", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x5E, 0, 0, CPU_SSE2, 0, 0}, - {"vcmpss", xmm_xmm32_imm_insn, 4, SUF_Z, 0xF3, 0xC2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"fidivs", fiarith_insn, 2, SUF_S, 0x06, 0xDA, 0, 0, CPU_FPU, 0, 0}, - {"pcmpeqq", sse4_insn, 2, SUF_Z, 0x29, 0, 0, 0, CPU_SSE41, 0, 0}, - {"setnbe", setcc_insn, 1, SUF_Z, 0x07, 0, 0, 0, CPU_386, 0, 0}, - {"pshufb", ssse3_insn, 5, SUF_Z, 0x00, 0, 0, 0, CPU_SSSE3, 0, 0}, - {"cmovgeq", cmovcc_insn, 3, SUF_Q, 0x0D, 0, 0, ONLY_64, CPU_686, 0, 0}, - {"vpaddq", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xD4, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"clgi", threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xDD, 0, CPU_SVM, 0, 0}, - {"rcpps", xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x53, 0, 0, CPU_SSE, 0, 0}, - {"cmovno", cmovcc_insn, 3, SUF_Z, 0x01, 0, 0, 0, CPU_686, 0, 0}, - {"addss", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x58, 0, 0, CPU_SSE, 0, 0}, - {"vcmpneqss", ssecmp_32_insn, 4, SUF_Z, 0x04, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"pavgusb", now3d_insn, 1, SUF_Z, 0xBF, 0, 0, 0, CPU_3DNow, 0, 0}, - {"vfmadd213ps", vfma_ps_insn, 2, SUF_Z, 0xA8, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"vpcomneqw", vpcom_insn, 1, SUF_Z, 0xCD, 0x05, 0, 0, CPU_XOP, 0, 0}, - {"vpmaxsb", ssse3_insn, 5, SUF_Z, 0x3C, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"pminsw", mmxsse2_insn, 2, SUF_Z, 0xEA, 0, 0, 0, CPU_MMX, CPU_P3, 0}, - {"vcmpnge_uqpd", ssecmp_128_insn, 3, SUF_Z, 0x19, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vpcomtrueud", vpcom_insn, 1, SUF_Z, 0xEE, 0x07, 0, 0, CPU_XOP, 0, 0}, - {"setpe", setcc_insn, 1, SUF_Z, 0x0A, 0, 0, 0, CPU_386, 0, 0}, - {"cmovnlw", cmovcc_insn, 3, SUF_W, 0x0D, 0, 0, 0, CPU_686, 0, 0}, - {"cbw", onebyte_insn, 1, SUF_Z, 0x98, 0x10, 0, 0, 0, 0, 0}, - {"vcmpge_oqss", ssecmp_32_insn, 4, SUF_Z, 0x1D, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"jpo", jcc_insn, 9, SUF_Z, 0x0B, 0, 0, 0, 0, 0, 0}, - {"leavel", onebyte_insn, 1, SUF_Z, 0xC9, 0x00, 0x40, 0, CPU_186, 0, 0}, - {"mpsadbw", sse4imm_insn, 2, SUF_Z, 0x42, 0, 0, 0, CPU_SSE41, 0, 0}, - {"vcvttsd2si", cvt_rx_xmm64_insn, 4, SUF_Z, 0xF2, 0x2C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vminps", xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x5D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"cmpnleps", ssecmp_128_insn, 3, SUF_Z, 0x06, 0, 0, 0, CPU_SSE, 0, 0}, - {"blendvpd", sse4xmm0_insn, 2, SUF_Z, 0x15, 0, 0, 0, CPU_SSE41, 0, 0}, - {"vaddss", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x58, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vpcomltuw", vpcom_insn, 1, SUF_Z, 0xED, 0x00, 0, 0, CPU_XOP, 0, 0}, - {"orw", arith_insn, 22, SUF_W, 0x08, 0x01, 0, 0, 0, 0, 0}, - {"adword", NULL, X86_ADDRSIZE>>8, 0x20, 0, 0, 0, 0, 0, 0, 0}, - {"vprotb", vprot_insn, 3, SUF_Z, 0x00, 0, 0, 0, CPU_XOP, 0, 0}, - {"pclmulhqhqdq", pclmulqdq_fixed_insn, 2, SUF_Z, 0x11, 0, 0, 0, CPU_AVX, 0, 0}, - {"shrdq", shlrd_insn, 9, SUF_Q, 0xAC, 0, 0, ONLY_64, CPU_386, 0, 0}, - {"vminss", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x5D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vpmaxub", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xDE, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vpcomltud", vpcom_insn, 1, SUF_Z, 0xEE, 0x00, 0, 0, CPU_XOP, 0, 0}, - {"vpaddusw", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xDD, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"movsq", onebyte_insn, 1, SUF_Z, 0xA5, 0x40, 0, ONLY_64, 0, 0, 0}, - {"subsd", xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x5C, 0, 0, CPU_SSE2, 0, 0}, - {"vfmaddsubpd", fma_128_256_insn, 4, SUF_Z, 0x5D, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0}, - {"cvtdq2ps", xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x5B, 0, 0, CPU_SSE2, 0, 0}, - {"prefetch", twobytemem_insn, 1, SUF_Z, 0x00, 0x0F, 0x0D, 0, CPU_3DNow, 0, 0}, - {"vaesenc", aes_insn, 2, SUF_Z, 0x38, 0xDC, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"shl", shift_insn, 16, SUF_Z, 0x04, 0, 0, 0, 0, 0, 0}, - {"vcmpunord_spd", ssecmp_128_insn, 3, SUF_Z, 0x13, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"bsfw", bsfr_insn, 3, SUF_W, 0xBC, 0, 0, 0, CPU_386, 0, 0}, - {"bswap", bswap_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_486, 0, 0}, - {"vfmadd231sd", vfma_sd_insn, 2, SUF_Z, 0xB9, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"fistps", fildstp_insn, 4, SUF_S, 0x03, 0x02, 0x07, 0, CPU_FPU, 0, 0}, - {"fdivs", farith_insn, 7, SUF_S, 0xF8, 0xF0, 0x06, 0, CPU_FPU, 0, 0}, - {"pextrq", pextrq_insn, 1, SUF_Z, 0, 0, 0, ONLY_64, CPU_SSE41, 0, 0}, - {"adcl", arith_insn, 22, SUF_L, 0x10, 0x02, 0, 0, CPU_386, 0, 0}, - {"vpmacsdql", vpma_insn, 1, SUF_Z, 0x97, 0, 0, 0, CPU_XOP, 0, 0}, - {"vpcomeqq", vpcom_insn, 1, SUF_Z, 0xCF, 0x04, 0, 0, CPU_XOP, 0, 0}, - {"tzmskq", xop_gpr_reg_rm_09_insn, 2, SUF_Q, 0x01, 0x04, 0, ONLY_64, CPU_TBM, 0, 0}, - {"rcl", shift_insn, 16, SUF_Z, 0x02, 0, 0, 0, 0, 0, 0}, - {"vsqrtsd", xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x51, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"cdqe", onebyte_insn, 1, SUF_Z, 0x98, 0x40, 0, ONLY_64, 0, 0, 0}, - {"negq", f6_insn, 4, SUF_Q, 0x03, 0, 0, ONLY_64, 0, 0, 0}, - {"pextrb", pextrb_insn, 3, SUF_Z, 0, 0, 0, 0, CPU_SSE41, 0, 0}, - {"movzbq", movszx_insn, 5, SUF_B, 0xB6, 0, 0, ONLY_64, CPU_386, 0, 0}, - {"vcmpngtps", ssecmp_128_insn, 3, SUF_Z, 0x0A, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vpcomgeb", vpcom_insn, 1, SUF_Z, 0xCC, 0x03, 0, 0, CPU_XOP, 0, 0}, - {"lea", lea_insn, 3, SUF_Z, 0, 0, 0, 0, 0, 0, 0}, - {"invd", twobyte_insn, 1, SUF_Z, 0x0F, 0x08, 0, 0, CPU_486, CPU_Priv, 0}, - {"sarxl", vex_gpr_reg_rm_nds_0F_insn, 2, SUF_L, 0xF3, 0x38, 0xF7, ONLY_AVX, CPU_BMI2, 0, 0}, - {"movdqu", movau_insn, 6, SUF_Z, 0xF3, 0x6F, 0x10, 0, CPU_SSE2, 0, 0}, - {"vdivsd", xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x5E, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"cmpneqpd", ssecmp_128_insn, 3, SUF_Z, 0x04, 0x66, 0, 0, CPU_SSE, 0, 0}, - {"xcryptecb", padlock_insn, 1, SUF_Z, 0xC8, 0xF3, 0xA7, 0, CPU_PadLock, 0, 0}, - {"shll", shift_insn, 16, SUF_L, 0x04, 0, 0, 0, CPU_386, 0, 0}, - {"int", int_insn, 1, SUF_Z, 0, 0, 0, 0, 0, 0, 0}, - {"wrfsbase", fs_gs_base_insn, 2, SUF_Z, 0x02, 0, 0, ONLY_64, CPU_FSGSBASE, 0, 0}, - {"shufps", xmm_xmm128_imm_insn, 1, SUF_Z, 0x00, 0xC6, 0, 0, CPU_SSE, 0, 0}, - {"subpd", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x5C, 0, 0, CPU_SSE2, 0, 0}, - {"vcvtpd2psy", avx_cvt_xmm128_y_insn, 1, SUF_Z, 0x66, 0x5A, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"cmovnew", cmovcc_insn, 3, SUF_W, 0x05, 0, 0, 0, CPU_686, 0, 0}, - {"crc32", crc32_insn, 5, SUF_Z, 0, 0, 0, 0, CPU_386, CPU_SSE42, 0}, - {"vmovapd", movau_insn, 6, SUF_Z, 0x66, 0x28, 0x01, ONLY_AVX, CPU_AVX, 0, 0}, - {"rdrand", rdrand_insn, 3, SUF_Z, 0x06, 0, 0, 0, CPU_RDRAND, 0, 0}, - {"cmovnbew", cmovcc_insn, 3, SUF_W, 0x07, 0, 0, 0, CPU_686, 0, 0}, - {"invvpidl", eptvpid_insn, 2, SUF_L, 0x01, 0, 0, NOT_64, CPU_386, CPU_EPTVPID, 0}, - {"ljmp", ljmpcall_insn, 7, SUF_Z, 0x05, 0xEA, 0, 0, 0, 0, 0}, - {"vcmpeqpd", ssecmp_128_insn, 3, SUF_Z, 0x00, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"popfl", onebyte_insn, 1, SUF_Z, 0x9D, 0x20, 0, NOT_64, CPU_386, 0, 0}, - {"wrgsbase", fs_gs_base_insn, 2, SUF_Z, 0x03, 0, 0, ONLY_64, CPU_FSGSBASE, 0, 0}, - {"lodsb", onebyte_insn, 1, SUF_Z, 0xAC, 0x00, 0, 0, 0, 0, 0}, - {"vcmpgess", ssecmp_32_insn, 4, SUF_Z, 0x0D, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"aesenclast", aes_insn, 2, SUF_Z, 0x38, 0xDD, 0, 0, CPU_AVX, 0, 0}, - {"cmovel", cmovcc_insn, 3, SUF_L, 0x04, 0, 0, 0, CPU_686, 0, 0}, - {"vpsignd", ssse3_insn, 5, SUF_Z, 0x0A, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"stosb", onebyte_insn, 1, SUF_Z, 0xAA, 0x00, 0, 0, 0, 0, 0}, - {"smovb", onebyte_insn, 1, SUF_Z, 0xA4, 0x00, 0, 0, 0, 0, 0}, - {"vcmpeqss", ssecmp_32_insn, 4, SUF_Z, 0x00, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vpandn", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xDF, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vmovmskpsl", movmsk_insn, 4, SUF_L, 0x00, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vmovntps", movnt_insn, 2, SUF_Z, 0x00, 0x2B, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vcvtpd2psx", avx_cvt_xmm128_x_insn, 1, SUF_Z, 0x66, 0x5A, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"cmpordps", ssecmp_128_insn, 3, SUF_Z, 0x07, 0, 0, 0, CPU_SSE, 0, 0}, - {"vpaddd", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xFE, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"fptan", twobyte_insn, 1, SUF_Z, 0xD9, 0xF2, 0, 0, CPU_FPU, 0, 0}, - {"shldw", shlrd_insn, 9, SUF_W, 0xA4, 0, 0, 0, CPU_386, 0, 0}, - {"outsl", onebyte_insn, 1, SUF_Z, 0x6F, 0x20, 0, 0, CPU_386, 0, 0}, - {"vmovmskpsq", movmsk_insn, 4, SUF_Q, 0x00, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"fldcw", fldnstcw_insn, 1, SUF_Z, 0x05, 0, 0, 0, CPU_FPU, 0, 0}, - {"vcmpord_ssd", ssecmp_64_insn, 4, SUF_Z, 0x17, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vfnmsub231sd", vfma_sd_insn, 2, SUF_Z, 0xBF, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"pmullw", mmxsse2_insn, 2, SUF_Z, 0xD5, 0, 0, 0, CPU_MMX, 0, 0}, - {"jno", jcc_insn, 9, SUF_Z, 0x01, 0, 0, 0, 0, 0, 0}, - {"vprotq", vprot_insn, 3, SUF_Z, 0x03, 0, 0, 0, CPU_XOP, 0, 0}, - {"vcmpneq_ospd", ssecmp_128_insn, 3, SUF_Z, 0x1C, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"sarb", shift_insn, 16, SUF_B, 0x07, 0, 0, 0, 0, 0, 0}, - {"aaa", onebyte_insn, 1, SUF_Z, 0x37, 0, 0, NOT_64, 0, 0, 0}, - {"psubd", mmxsse2_insn, 2, SUF_Z, 0xFA, 0, 0, 0, CPU_MMX, 0, 0}, - {"cmovpew", cmovcc_insn, 3, SUF_W, 0x0A, 0, 0, 0, CPU_686, 0, 0}, - {"blci", xop_gpr_reg_rm_09_insn, 2, SUF_Z, 0x02, 0x06, 0, 0, CPU_386, CPU_TBM, 0}, - {"cmpnltsd", ssecmp_64_insn, 4, SUF_Z, 0x05, 0xF2, 0, 0, CPU_SSE2, 0, 0}, - {"rex64x", NULL, X86_REX>>8, 0x4C, 0, 0, 0, ONLY_64, 0, 0, 0}, - {"blsr", vex_gpr_ndd_rm_0F38_regext_insn, 2, SUF_Z, 0x00, 0xF3, 0x01, ONLY_AVX, CPU_BMI1, 0, 0}, - {"vaeskeygenassist", aes_imm_insn, 1, SUF_Z, 0x3A, 0xDF, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"cmpnltss", ssecmp_32_insn, 4, SUF_Z, 0x05, 0xF3, 0, 0, CPU_SSE, 0, 0}, - {"cwde", onebyte_insn, 1, SUF_Z, 0x98, 0x20, 0, 0, CPU_386, 0, 0}, - {"fcmovne", fcmovcc_insn, 1, SUF_Z, 0xDB, 0xC8, 0, 0, CPU_686, CPU_FPU, 0}, - {"sscab", onebyte_insn, 1, SUF_Z, 0xAE, 0x00, 0, 0, 0, 0, 0}, - {"vphaddbq", vphaddsub_insn, 1, SUF_Z, 0xC3, 0, 0, 0, CPU_XOP, 0, 0}, - {"vcvttss2sil", cvt_rx_xmm32_insn, 4, SUF_L, 0xF3, 0x2C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"roundsd", sse4m64imm_insn, 4, SUF_Z, 0x0B, 0, 0, 0, CPU_SSE41, 0, 0}, - {"pfacc", now3d_insn, 1, SUF_Z, 0xAE, 0, 0, 0, CPU_3DNow, 0, 0}, - {"fsubl", farith_insn, 7, SUF_L, 0xE8, 0xE0, 0x04, 0, CPU_FPU, 0, 0}, - {"invlpg", twobytemem_insn, 1, SUF_Z, 0x07, 0x0F, 0x01, 0, CPU_486, CPU_Priv, 0}, - {"pextl", vex_gpr_reg_nds_rm_0F_insn, 2, SUF_L, 0xF3, 0x38, 0xF5, ONLY_AVX, CPU_BMI2, 0, 0}, - {"fldenvl", onebytemem_insn, 1, SUF_L, 0x04, 0xD9, 0, 0, CPU_FPU, 0, 0}, - {"lretq", retnf_insn, 6, SUF_Q, 0xCA, 0x40, 0, ONLY_64, 0, 0, 0}, - {"addr16", NULL, X86_ADDRSIZE>>8, 0x10, 0, 0, 0, 0, 0, 0, 0}, - {"cmovncl", cmovcc_insn, 3, SUF_L, 0x03, 0, 0, 0, CPU_686, 0, 0}, - {"movzbw", movszx_insn, 5, SUF_B, 0xB6, 0, 0, 0, CPU_386, 0, 0}, - {"pmvlzb", cyrixmmx_insn, 1, SUF_Z, 0x5B, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0}, - {"boundw", bound_insn, 2, SUF_W, 0, 0, 0, NOT_64, CPU_186, 0, 0}, - {"vroundsd", sse4m64imm_insn, 4, SUF_Z, 0x0B, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"loopz", loop_insn, 8, SUF_Z, 0x01, 0, 0, 0, 0, 0, 0}, - {"roundpd", sse4imm_insn, 2, SUF_Z, 0x09, 0, 0, 0, CPU_SSE41, 0, 0}, - {"sfence", threebyte_insn, 1, SUF_Z, 0x0F, 0xAE, 0xF8, 0, CPU_P3, 0, 0}, - {"vpcomgew", vpcom_insn, 1, SUF_Z, 0xCD, 0x03, 0, 0, CPU_XOP, 0, 0}, - {"vpcmpistrm", sse4pcmpstr_insn, 1, SUF_Z, 0x62, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"repz", NULL, X86_LOCKREP>>8, 0xF3, 0, 0, 0, 0, 0, 0, 0}, - {"iretq", onebyte_insn, 1, SUF_Z, 0xCF, 0x40, 0, ONLY_64, 0, 0, 0}, - {"pclmullqhqdq", pclmulqdq_fixed_insn, 2, SUF_Z, 0x10, 0, 0, 0, CPU_AVX, 0, 0}, - {"vcmplt_oqss", ssecmp_32_insn, 4, SUF_Z, 0x11, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vcmpeq_osps", ssecmp_128_insn, 3, SUF_Z, 0x10, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"cmpw", arith_insn, 22, SUF_W, 0x38, 0x07, 0, 0, 0, 0, 0}, - {"adox", vex_gpr_ndd_rm_0F38_insn, 2, SUF_Z, 0xF3, 0xF6, 0, 0, CPU_ADX, 0, 0}, - {"rexyz", NULL, X86_REX>>8, 0x43, 0, 0, 0, ONLY_64, 0, 0, 0}, - {"rorxq", vex_gpr_reg_rm_0F_imm8_insn, 2, SUF_Q, 0xF2, 0x3A, 0xF0, ONLY_64|ONLY_AVX, CPU_BMI2, 0, 0}, - {"movsxb", movszx_insn, 5, SUF_B, 0xBE, 0, 0, 0, CPU_386, 0, 0}, - {"paddsw", mmxsse2_insn, 2, SUF_Z, 0xED, 0, 0, 0, CPU_MMX, 0, 0}, - {"lldtw", prot286_insn, 1, SUF_W, 0x02, 0x00, 0, 0, CPU_286, CPU_Priv, CPU_Prot}, - {"vpcomneuw", vpcom_insn, 1, SUF_Z, 0xED, 0x05, 0, 0, CPU_XOP, 0, 0}, - {"vcmpnlesd", ssecmp_64_insn, 4, SUF_Z, 0x06, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vfrczss", vfrczss_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_XOP, 0, 0}, - {"movw", mov_insn, 69, SUF_W, 0, 0, 0, 0, 0, 0, 0}, - {"crc32q", crc32_insn, 5, SUF_Q, 0, 0, 0, ONLY_64, CPU_SSE42, 0, 0}, - {"vextracti128", vextractif128_insn, 1, SUF_Z, 0x39, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, - {"subps", xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x5C, 0, 0, CPU_SSE, 0, 0}, - {"inb", in_insn, 12, SUF_B, 0, 0, 0, 0, 0, 0, 0}, - {"vfnmsub231ps", vfma_ps_insn, 2, SUF_Z, 0xBE, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"vphaddubw", vphaddsub_insn, 1, SUF_Z, 0xD1, 0, 0, 0, CPU_XOP, 0, 0}, - {"pmachriw", pmachriw_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0}, - {"vmpsadbw", sse4imm_256avx2_insn, 4, SUF_Z, 0x42, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"cmovngew", cmovcc_insn, 3, SUF_W, 0x0C, 0, 0, 0, CPU_686, 0, 0}, - {"popcntq", cnt_insn, 3, SUF_Q, 0xB8, 0, 0, ONLY_64, CPU_SSE42, 0, 0}, - {"insertps", insertps_insn, 4, SUF_Z, 0, 0, 0, 0, CPU_SSE41, 0, 0}, - {"cmpxchgl", cmpxchgxadd_insn, 4, SUF_L, 0xB0, 0, 0, 0, CPU_486, 0, 0}, - {"vcomiss", avx_xmm_xmm32_insn, 2, SUF_Z, 0x00, 0x2F, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vpcmpgtd", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"loopzw", loopw_insn, 4, SUF_Z, 0x01, 0x10, 0, NOT_64, 0, 0, 0}, - {"retw", retnf_insn, 6, SUF_Z, 0xC2, 0x10, 0, 0, 0, 0, 0}, - {"pavgb", mmxsse2_insn, 2, SUF_Z, 0xE0, 0, 0, 0, CPU_MMX, CPU_P3, 0}, - {"loopnel", loopl_insn, 4, SUF_Z, 0x00, 0x20, 0, 0, 0, 0, 0}, - {"vpsrld", vpshift_insn, 8, SUF_Z, 0xD2, 0x72, 0x02, ONLY_AVX, CPU_AVX, 0, 0}, - {"vcvtpd2dqx", avx_cvt_xmm128_x_insn, 1, SUF_Z, 0xF2, 0xE6, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"ficomps", fiarith_insn, 2, SUF_S, 0x03, 0xDA, 0, 0, CPU_FPU, 0, 0}, - {"fisttps", fildstp_insn, 4, SUF_S, 0x01, 0x00, 0x01, 0, CPU_SSE3, 0, 0}, - {"vandpd", xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x54, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"haddpd", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x7C, 0, 0, CPU_SSE3, 0, 0}, - {"bsfl", bsfr_insn, 3, SUF_L, 0xBC, 0, 0, 0, CPU_386, 0, 0}, - {"rolq", shift_insn, 16, SUF_Q, 0x00, 0, 0, ONLY_64, 0, 0, 0}, - {"vcmpneq_ussd", ssecmp_64_insn, 4, SUF_Z, 0x14, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"pinsrwl", pinsrw_insn, 9, SUF_L, 0, 0, 0, 0, CPU_MMX, CPU_P3, 0}, - {"pmovzxwd", sse4m64_insn, 4, SUF_Z, 0x33, 0, 0, 0, CPU_SSE41, 0, 0}, - {"vcmpgt_oqsd", ssecmp_64_insn, 4, SUF_Z, 0x1E, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"pslld", pshift_insn, 4, SUF_Z, 0xF2, 0x72, 0x06, 0, CPU_MMX, 0, 0}, - {"bextr", bextr_insn, 4, SUF_Z, 0, 0, 0, ONLY_AVX, CPU_386, CPU_BMI1, 0}, - {"movsbl", movszx_insn, 5, SUF_B, 0xBE, 0, 0, 0, CPU_386, 0, 0}, - {"vpcomuq", vpcom_imm_insn, 1, SUF_Z, 0xEF, 0, 0, 0, CPU_XOP, 0, 0}, - {"pcmpestrm", sse4pcmpstr_insn, 1, SUF_Z, 0x60, 0, 0, 0, CPU_SSE42, 0, 0}, - {"pfcmpgt", now3d_insn, 1, SUF_Z, 0xA0, 0, 0, 0, CPU_3DNow, 0, 0}, - {"ltrw", prot286_insn, 1, SUF_W, 0x03, 0x00, 0, 0, CPU_286, CPU_Priv, CPU_Prot}, - {"paddusw", mmxsse2_insn, 2, SUF_Z, 0xDD, 0, 0, 0, CPU_MMX, 0, 0}, - {"vpmacsswd", vpma_insn, 1, SUF_Z, 0x86, 0, 0, 0, CPU_XOP, 0, 0}, - {"vfnmsubsd", fma_128_m64_insn, 3, SUF_Z, 0x7F, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0}, - {"loopew", loopw_insn, 4, SUF_Z, 0x01, 0x10, 0, NOT_64, 0, 0, 0}, - {"vmaskmovdqu", maskmovdqu_insn, 1, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"cvtsi2sdq", cvt_xmm_rmx_insn, 6, SUF_Q, 0xF2, 0x2A, 0, ONLY_64, CPU_SSE2, 0, 0}, - {"fisubs", fiarith_insn, 2, SUF_S, 0x04, 0xDA, 0, 0, CPU_FPU, 0, 0}, - {"cmpeqss", ssecmp_32_insn, 4, SUF_Z, 0x00, 0xF3, 0, 0, CPU_SSE, 0, 0}, - {"cqto", onebyte_insn, 1, SUF_Z, 0x99, 0x40, 0, ONLY_64, 0, 0, 0}, - {"vcmpunordpd", ssecmp_128_insn, 3, SUF_Z, 0x03, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"setna", setcc_insn, 1, SUF_Z, 0x06, 0, 0, 0, CPU_386, 0, 0}, - {"cvtdq2pd", xmm_xmm64_insn, 4, SUF_Z, 0xF3, 0xE6, 0, 0, CPU_SSE2, 0, 0}, - {"andnpd", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x55, 0, 0, CPU_SSE2, 0, 0}, - {"vcmpeq_uqps", ssecmp_128_insn, 3, SUF_Z, 0x08, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vcvtsi2ss", cvt_xmm_rmx_insn, 6, SUF_Z, 0xF3, 0x2A, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"psrld", pshift_insn, 4, SUF_Z, 0xD2, 0x72, 0x02, 0, CPU_MMX, 0, 0}, - {"outl", out_insn, 12, SUF_L, 0, 0, 0, 0, CPU_386, 0, 0}, - {"vcvttss2siq", cvt_rx_xmm32_insn, 4, SUF_Q, 0xF3, 0x2C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"paddq", mmxsse2_insn, 2, SUF_Z, 0xD4, 0, 0, 0, CPU_MMX, 0, 0}, - {"cmpneqss", ssecmp_32_insn, 4, SUF_Z, 0x04, 0xF3, 0, 0, CPU_SSE, 0, 0}, - {"vfrczsd", vfrczsd_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_XOP, 0, 0}, - {"xsaveopt64", xsaveopt64_insn, 1, SUF_Z, 0x06, 0x0F, 0xAE, ONLY_64, CPU_XSAVEOPT, 0, 0}, - {"fnstsww", fnstsw_insn, 2, SUF_W, 0, 0, 0, 0, CPU_FPU, 0, 0}, - {"vfmaddss", fma_128_m32_insn, 3, SUF_Z, 0x6A, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0}, - {"fsubs", farith_insn, 7, SUF_S, 0xE8, 0xE0, 0x04, 0, CPU_FPU, 0, 0}, - {"vpshufd", xmm_xmm128_imm_256avx2_insn, 2, SUF_Z, 0x66, 0x70, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"fstpl", fstp_insn, 4, SUF_L, 0, 0, 0, 0, CPU_FPU, 0, 0}, - {"vcmpeq_ussd", ssecmp_64_insn, 4, SUF_Z, 0x18, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"jle", jcc_insn, 9, SUF_Z, 0x0E, 0, 0, 0, 0, 0, 0}, - {"sidtq", twobytemem_insn, 1, SUF_Q, 0x01, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0}, - {"vpshlb", amd_vpshift_insn, 2, SUF_Z, 0x94, 0, 0, 0, CPU_XOP, 0, 0}, - {"pinsrwq", pinsrw_insn, 9, SUF_Q, 0, 0, 0, ONLY_64, CPU_MMX, CPU_P3, 0}, - {"js", jcc_insn, 9, SUF_Z, 0x08, 0, 0, 0, 0, 0, 0}, - {"andnq", vex_gpr_reg_nds_rm_0F_insn, 2, SUF_Q, 0x00, 0x38, 0xF2, ONLY_64|ONLY_AVX, CPU_BMI1, 0, 0}, - {"cmpsl", onebyte_insn, 1, SUF_Z, 0xA7, 0x20, 0, 0, CPU_386, 0, 0}, - {"vmovlps", movhlp_insn, 3, SUF_Z, 0x00, 0x12, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"pabsd", ssse3_insn, 5, SUF_Z, 0x1E, 0, 0, 0, CPU_SSSE3, 0, 0}, - {"vpcomequd", vpcom_insn, 1, SUF_Z, 0xEE, 0x04, 0, 0, CPU_XOP, 0, 0}, - {"salw", shift_insn, 16, SUF_W, 0x04, 0, 0, 0, 0, 0, 0}, - {"movntss", movntss_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SSE4a, 0, 0}, - {"movlhps", movhllhps_insn, 2, SUF_Z, 0x16, 0, 0, 0, CPU_SSE, 0, 0}, - {"vcmpltps", ssecmp_128_insn, 3, SUF_Z, 0x01, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"cmovoq", cmovcc_insn, 3, SUF_Q, 0x00, 0, 0, ONLY_64, CPU_686, 0, 0}, - {"rex64xz", NULL, X86_REX>>8, 0x4D, 0, 0, 0, ONLY_64, 0, 0, 0}, - {"vfmsubadd132ps", vfma_ps_insn, 2, SUF_Z, 0x97, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"vcmplt_oqsd", ssecmp_64_insn, 4, SUF_Z, 0x11, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"cmovnzl", cmovcc_insn, 3, SUF_L, 0x05, 0, 0, 0, CPU_686, 0, 0}, - {"cvttss2sil", cvt_rx_xmm32_insn, 4, SUF_L, 0xF3, 0x2C, 0, 0, CPU_386, CPU_SSE, 0}, - {"pand", mmxsse2_insn, 2, SUF_Z, 0xDB, 0, 0, 0, CPU_MMX, 0, 0}, - {"packuswb", mmxsse2_insn, 2, SUF_Z, 0x67, 0, 0, 0, CPU_MMX, 0, 0}, - {"rcrw", shift_insn, 16, SUF_W, 0x03, 0, 0, 0, 0, 0, 0}, - {"loadall", twobyte_insn, 1, SUF_Z, 0x0F, 0x07, 0, 0, CPU_386, CPU_Undoc, 0}, - {"vprotd", vprot_insn, 3, SUF_Z, 0x02, 0, 0, 0, CPU_XOP, 0, 0}, - {"popcntl", cnt_insn, 3, SUF_L, 0xB8, 0, 0, 0, CPU_SSE42, 0, 0}, - {"xsave", twobytemem_insn, 1, SUF_Z, 0x04, 0x0F, 0xAE, 0, CPU_386, CPU_XSAVE, 0}, - {"addq", arith_insn, 22, SUF_Q, 0x00, 0x00, 0, ONLY_64, 0, 0, 0}, - {"fldlg2", twobyte_insn, 1, SUF_Z, 0xD9, 0xEC, 0, 0, CPU_FPU, 0, 0}, - {"fwait", onebyte_insn, 1, SUF_Z, 0x9B, 0, 0, 0, CPU_FPU, 0, 0}, - {"cvtsi2sdl", cvt_xmm_rmx_insn, 6, SUF_L, 0xF2, 0x2A, 0, 0, CPU_SSE2, 0, 0}, - {"cmovl", cmovcc_insn, 3, SUF_Z, 0x0C, 0, 0, 0, CPU_686, 0, 0}, - {"rol", shift_insn, 16, SUF_Z, 0x00, 0, 0, 0, 0, 0, 0}, - {"tzmsk", xop_gpr_reg_rm_09_insn, 2, SUF_Z, 0x01, 0x04, 0, 0, CPU_386, CPU_TBM, 0}, - {"loope", loop_insn, 8, SUF_Z, 0x01, 0, 0, 0, 0, 0, 0}, - {"decl", incdec_insn, 6, SUF_L, 0x48, 0x01, 0, 0, CPU_386, 0, 0}, - {"shlb", shift_insn, 16, SUF_B, 0x04, 0, 0, 0, 0, 0, 0}, - {"cmpsw", onebyte_insn, 1, SUF_Z, 0xA7, 0x10, 0, 0, 0, 0, 0}, - {"inc", incdec_insn, 6, SUF_Z, 0x40, 0x00, 0, 0, 0, 0, 0}, - {"vpshlw", amd_vpshift_insn, 2, SUF_Z, 0x95, 0, 0, 0, CPU_XOP, 0, 0}, - {"vpcomneqd", vpcom_insn, 1, SUF_Z, 0xCE, 0x05, 0, 0, CPU_XOP, 0, 0}, - {"vunpckhps", xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x15, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"movups", movau_insn, 6, SUF_Z, 0x00, 0x10, 0x01, 0, CPU_SSE, 0, 0}, - {"smint", twobyte_insn, 1, SUF_Z, 0x0F, 0x38, 0, 0, CPU_686, CPU_Cyrix, 0}, - {"addsubpd", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0xD0, 0, 0, CPU_SSE3, 0, 0}, - {"sha1msg1", intel_SHA1MSG1_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SHA, 0, 0}, - {"pmovzxdq", sse4m64_insn, 4, SUF_Z, 0x35, 0, 0, 0, CPU_SSE41, 0, 0}, - {"vaddps", xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x58, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"in", in_insn, 12, SUF_Z, 0, 0, 0, 0, 0, 0, 0}, - {"setnpb", setcc_insn, 1, SUF_B, 0x0B, 0, 0, 0, CPU_386, 0, 0}, - {"sete", setcc_insn, 1, SUF_Z, 0x04, 0, 0, 0, CPU_386, 0, 0}, - {"vcmpnlt_uqsd", ssecmp_64_insn, 4, SUF_Z, 0x15, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vfmsub132sd", vfma_sd_insn, 2, SUF_Z, 0x9B, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"cmovnae", cmovcc_insn, 3, SUF_Z, 0x02, 0, 0, 0, CPU_686, 0, 0}, - {"xcryptcfb", padlock_insn, 1, SUF_Z, 0xE0, 0xF3, 0xA7, 0, CPU_PadLock, 0, 0}, - {"vcvtss2siq", cvt_rx_xmm32_insn, 4, SUF_Q, 0xF3, 0x2D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"fcmovnb", fcmovcc_insn, 1, SUF_Z, 0xDB, 0xC0, 0, 0, CPU_686, CPU_FPU, 0}, - {"vfmadd213ss", vfma_ss_insn, 2, SUF_Z, 0xA9, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"pushfw", onebyte_insn, 1, SUF_Z, 0x9C, 0x10, 0x40, 0, 0, 0, 0}, - {"vcmpless", ssecmp_32_insn, 4, SUF_Z, 0x02, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"sidtl", twobytemem_insn, 1, SUF_L, 0x01, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0}, - {"vpcomfalsew", vpcom_insn, 1, SUF_Z, 0xCD, 0x06, 0, 0, CPU_XOP, 0, 0}, - {"xcryptctr", padlock_insn, 1, SUF_Z, 0xD8, 0xF3, 0xA7, 0, CPU_PadLock, 0, 0}, - {"fidiv", fiarith_insn, 2, SUF_Z, 0x06, 0xDA, 0, 0, CPU_FPU, 0, 0}, - {"cvtpi2pd", cvt_xmm_mm_ss_insn, 1, SUF_Z, 0x66, 0x2A, 0, 0, CPU_SSE2, 0, 0}, - {"fxrstorq", twobytemem_insn, 1, SUF_Q, 0x01, 0x0F, 0xAE, 0, CPU_686, CPU_FPU, 0}, - {"aas", onebyte_insn, 1, SUF_Z, 0x3F, 0, 0, NOT_64, 0, 0, 0}, - {"pfrsqrt", now3d_insn, 1, SUF_Z, 0x97, 0, 0, 0, CPU_3DNow, 0, 0}, - {"cmovpeq", cmovcc_insn, 3, SUF_Q, 0x0A, 0, 0, ONLY_64, CPU_686, 0, 0}, - {"vaesenclast", aes_insn, 2, SUF_Z, 0x38, 0xDD, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vmreadl", vmxmemrd_insn, 2, SUF_L, 0, 0, 0, NOT_64, CPU_P4, 0, 0}, - {"vpcomub", vpcom_imm_insn, 1, SUF_Z, 0xEC, 0, 0, 0, CPU_XOP, 0, 0}, - {"movupd", movau_insn, 6, SUF_Z, 0x66, 0x10, 0x01, 0, CPU_SSE2, 0, 0}, - {"btcw", bittest_insn, 6, SUF_W, 0xBB, 0x07, 0, 0, CPU_386, 0, 0}, - {"popfq", onebyte_insn, 1, SUF_Z, 0x9D, 0x40, 0x40, ONLY_64, 0, 0, 0}, - {"pmulhrw", now3d_insn, 1, SUF_Z, 0xB7, 0, 0, 0, CPU_3DNow, 0, 0}, - {"psubsw", mmxsse2_insn, 2, SUF_Z, 0xE9, 0, 0, 0, CPU_MMX, 0, 0}, - {"lsl", larlsl_insn, 6, SUF_Z, 0x03, 0, 0, 0, CPU_286, CPU_Prot, 0}, - {"rdtsc", twobyte_insn, 1, SUF_Z, 0x0F, 0x31, 0, 0, CPU_586, 0, 0}, - {"scasw", onebyte_insn, 1, SUF_Z, 0xAF, 0x10, 0, 0, 0, 0, 0}, - {"pmvnzb", cyrixmmx_insn, 1, SUF_Z, 0x5A, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0}, - {"pmulhw", mmxsse2_insn, 2, SUF_Z, 0xE5, 0, 0, 0, CPU_MMX, 0, 0}, - {"sha1rnds4", intel_SHA1RNDS4_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SHA, 0, 0}, - {"jb", jcc_insn, 9, SUF_Z, 0x02, 0, 0, 0, 0, 0, 0}, - {"blsi", vex_gpr_ndd_rm_0F38_regext_insn, 2, SUF_Z, 0x00, 0xF3, 0x03, ONLY_AVX, CPU_BMI1, 0, 0}, - {"vfmaddsub213ps", vfma_ps_insn, 2, SUF_Z, 0xA6, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"vpcmpeqw", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x75, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vfmaddsd", fma_128_m64_insn, 3, SUF_Z, 0x6B, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0}, - {"vcmpordpd", ssecmp_128_insn, 3, SUF_Z, 0x07, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vpclmulhqhqdq", pclmulqdq_fixed_insn, 2, SUF_Z, 0x11, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"setne", setcc_insn, 1, SUF_Z, 0x05, 0, 0, 0, CPU_386, 0, 0}, - {"pmaddwd", mmxsse2_insn, 2, SUF_Z, 0xF5, 0, 0, 0, CPU_MMX, 0, 0}, - {"vpcomneb", vpcom_insn, 1, SUF_Z, 0xCC, 0x05, 0, 0, CPU_XOP, 0, 0}, - {"pclmulhqlqdq", pclmulqdq_fixed_insn, 2, SUF_Z, 0x01, 0, 0, 0, CPU_AVX, 0, 0}, - {"xaddb", cmpxchgxadd_insn, 4, SUF_B, 0xC0, 0, 0, 0, CPU_486, 0, 0}, - {"cmpps", xmm_xmm128_imm_insn, 1, SUF_Z, 0x00, 0xC2, 0, 0, CPU_SSE, 0, 0}, - {"movntq", movntq_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SSE, 0, 0}, - {"idivw", div_insn, 8, SUF_W, 0x07, 0, 0, 0, 0, 0, 0}, - {"push", push_insn, 35, SUF_Z, 0, 0, 0, 0, 0, 0, 0}, - {"vfmsub231pd", vfma_pd_insn, 2, SUF_Z, 0xBA, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"test", test_insn, 20, SUF_Z, 0, 0, 0, 0, 0, 0, 0}, - {"pslldq", pslrldq_insn, 4, SUF_Z, 0x07, 0, 0, 0, CPU_SSE2, 0, 0}, - {"sha256rnds2", intel_SHA256RNDS2_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SHA, 0, 0}, - {"cmovb", cmovcc_insn, 3, SUF_Z, 0x02, 0, 0, 0, CPU_686, 0, 0}, - {"rex64xyz", NULL, X86_REX>>8, 0x4F, 0, 0, 0, ONLY_64, 0, 0, 0}, - {"blcs", xop_gpr_reg_rm_09_insn, 2, SUF_Z, 0x01, 0x03, 0, 0, CPU_386, CPU_TBM, 0}, - {"punpcklwd", mmxsse2_insn, 2, SUF_Z, 0x61, 0, 0, 0, CPU_MMX, 0, 0}, - {"sqrtps", xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x51, 0, 0, CPU_SSE, 0, 0}, - {"cmovnaeq", cmovcc_insn, 3, SUF_Q, 0x02, 0, 0, ONLY_64, CPU_686, 0, 0}, - {"vmread", vmxmemrd_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_P4, 0, 0}, - {"fldz", twobyte_insn, 1, SUF_Z, 0xD9, 0xEE, 0, 0, CPU_FPU, 0, 0}, - {"vpunpckldq", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x62, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"retl", retnf_insn, 6, SUF_Z, 0xC2, 0, 0, NOT_64, 0, 0, 0}, - {"vlddqu", lddqu_insn, 2, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"loopnzw", loopw_insn, 4, SUF_Z, 0x00, 0x10, 0, NOT_64, 0, 0, 0}, - {"vmaxss", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x5F, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"cvttpd2pi", cvt_mm_xmm_insn, 1, SUF_Z, 0x66, 0x2C, 0, 0, CPU_SSE2, 0, 0}, - {"btrl", bittest_insn, 6, SUF_L, 0xB3, 0x06, 0, 0, CPU_386, 0, 0}, - {"cvttsd2si", cvt_rx_xmm64_insn, 4, SUF_Z, 0xF2, 0x2C, 0, 0, CPU_SSE2, 0, 0}, - {"cmovns", cmovcc_insn, 3, SUF_Z, 0x09, 0, 0, 0, CPU_686, 0, 0}, - {"vblendvpd", avx_sse4xmm0_insn, 2, SUF_Z, 0x4B, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"fistp", fildstp_insn, 4, SUF_Z, 0x03, 0x02, 0x07, 0, CPU_FPU, 0, 0}, - {"setbe", setcc_insn, 1, SUF_Z, 0x06, 0, 0, 0, CPU_386, 0, 0}, - {"cmpordss", ssecmp_32_insn, 4, SUF_Z, 0x07, 0xF3, 0, 0, CPU_SSE, 0, 0}, - {"vfrczps", vfrc_pdps_insn, 2, SUF_Z, 0x00, 0, 0, 0, CPU_XOP, 0, 0}, - {"sysret", twobyte_insn, 1, SUF_Z, 0x0F, 0x07, 0, 0, CPU_686, CPU_AMD, CPU_Priv}, - {"pfrsqit1", now3d_insn, 1, SUF_Z, 0xA7, 0, 0, 0, CPU_3DNow, 0, 0}, - {"pdistib", cyrixmmx_insn, 1, SUF_Z, 0x54, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0}, - {"sha256msg2", intel_SHA256MSG2_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SHA, 0, 0}, - {"pshuflw", xmm_xmm128_imm_insn, 1, SUF_Z, 0xF2, 0x70, 0, 0, CPU_SSE2, 0, 0}, - {"vpcomged", vpcom_insn, 1, SUF_Z, 0xCE, 0x03, 0, 0, CPU_XOP, 0, 0}, - {"addpd", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x58, 0, 0, CPU_SSE2, 0, 0}, - {"fstenv", twobytemem_insn, 1, SUF_Z, 0x06, 0x9B, 0xD9, 0, CPU_FPU, 0, 0}, - {"vpcomled", vpcom_insn, 1, SUF_Z, 0xCE, 0x01, 0, 0, CPU_XOP, 0, 0}, - {"vpackssdw", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x6B, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"cmovnbl", cmovcc_insn, 3, SUF_L, 0x03, 0, 0, 0, CPU_686, 0, 0}, - {"vpcomleuq", vpcom_insn, 1, SUF_Z, 0xEF, 0x01, 0, 0, CPU_XOP, 0, 0}, - {"paddsiw", cyrixmmx_insn, 1, SUF_Z, 0x51, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0}, - {"dppd", sse4imm_insn, 2, SUF_Z, 0x41, 0, 0, 0, CPU_SSE41, 0, 0}, - {"incb", incdec_insn, 6, SUF_B, 0x40, 0x00, 0, 0, 0, 0, 0}, - {"vpmulhuw", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xE4, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vmovmskpdl", movmsk_insn, 4, SUF_L, 0x66, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"hnt", NULL, X86_SEGREG>>8, 0x2E, 0, 0, 0, 0, 0, 0, 0}, - {"fclex", threebyte_insn, 1, SUF_Z, 0x9B, 0xDB, 0xE2, 0, CPU_FPU, 0, 0}, - {"vcmpord_sss", ssecmp_32_insn, 4, SUF_Z, 0x17, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"aeskeygenassist", aes_imm_insn, 1, SUF_Z, 0x3A, 0xDF, 0, 0, CPU_AES, 0, 0}, - {"cvtsi2ssq", cvt_xmm_rmx_insn, 6, SUF_Q, 0xF3, 0x2A, 0, ONLY_64, CPU_SSE, 0, 0}, - {"extractps", extractps_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_386, CPU_SSE41, 0}, - {"cmpless", ssecmp_32_insn, 4, SUF_Z, 0x02, 0xF3, 0, 0, CPU_SSE, 0, 0}, - {"psubusw", mmxsse2_insn, 2, SUF_Z, 0xD9, 0, 0, 0, CPU_MMX, 0, 0}, - {"setnzb", setcc_insn, 1, SUF_B, 0x05, 0, 0, 0, CPU_386, 0, 0}, - {"vpacksswb", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x63, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"pandn", mmxsse2_insn, 2, SUF_Z, 0xDF, 0, 0, 0, CPU_MMX, 0, 0}, - {"vpsubd", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xFA, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vcmptruesd", ssecmp_64_insn, 4, SUF_Z, 0x0F, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"fucomp", fcom2_insn, 2, SUF_Z, 0xDD, 0xE8, 0, 0, CPU_286, CPU_FPU, 0}, - {"lar", larlsl_insn, 6, SUF_Z, 0x02, 0, 0, 0, CPU_286, CPU_Prot, 0}, - {"blsic", xop_gpr_reg_rm_09_insn, 2, SUF_Z, 0x01, 0x06, 0, 0, CPU_386, CPU_TBM, 0}, - {"ibts", ibts_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_386, CPU_Obs, CPU_Undoc}, - {"sysexit", twobyte_insn, 1, SUF_Z, 0x0F, 0x35, 0, NOT_64, CPU_686, CPU_Priv, 0}, - {"vmovmskps", movmsk_insn, 4, SUF_Z, 0x00, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vcvtss2sd", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x5A, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vunpcklps", xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x14, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"fdivr", farith_insn, 7, SUF_Z, 0xF0, 0xF8, 0x07, 0, CPU_FPU, 0, 0}, - {"vpshufb", ssse3_insn, 5, SUF_Z, 0x00, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vcmptruepd", ssecmp_128_insn, 3, SUF_Z, 0x0F, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vpshufhw", xmm_xmm128_imm_256avx2_insn, 2, SUF_Z, 0xF3, 0x70, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"loopl", loopl_insn, 4, SUF_Z, 0x02, 0x20, 0, 0, 0, 0, 0}, - {"vfnmaddps", fma_128_256_insn, 4, SUF_Z, 0x78, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0}, - {"movsbw", movszx_insn, 5, SUF_B, 0xBE, 0, 0, 0, CPU_386, 0, 0}, - {"fstps", fstp_insn, 4, SUF_S, 0, 0, 0, 0, CPU_FPU, 0, 0}, - {"fadd", farith_insn, 7, SUF_Z, 0xC0, 0xC0, 0x00, 0, CPU_FPU, 0, 0}, - {"vcmpeqsd", ssecmp_64_insn, 4, SUF_Z, 0x00, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vcmpngt_uqsd", ssecmp_64_insn, 4, SUF_Z, 0x1A, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"sscaw", onebyte_insn, 1, SUF_Z, 0xAF, 0x10, 0, 0, 0, 0, 0}, - {"setnlb", setcc_insn, 1, SUF_B, 0x0D, 0, 0, 0, CPU_386, 0, 0}, - {"vpmulld", ssse3_insn, 5, SUF_Z, 0x40, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vfmsub132pd", vfma_pd_insn, 2, SUF_Z, 0x9A, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"palignr", ssse3imm_insn, 2, SUF_Z, 0x0F, 0, 0, 0, CPU_SSSE3, 0, 0}, - {"orpd", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x56, 0, 0, CPU_SSE2, 0, 0}, - {"vminsd", xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x5D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"fsincos", twobyte_insn, 1, SUF_Z, 0xD9, 0xFB, 0, 0, CPU_286, CPU_FPU, 0}, - {"vcmple_oqpd", ssecmp_128_insn, 3, SUF_Z, 0x12, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"pmagw", cyrixmmx_insn, 1, SUF_Z, 0x52, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0}, - {"setnleb", setcc_insn, 1, SUF_B, 0x0F, 0, 0, 0, CPU_386, 0, 0}, - {"vcmpps", xmm_xmm128_imm_256_insn, 3, SUF_Z, 0x00, 0xC2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vpmulhrsw", ssse3_insn, 5, SUF_Z, 0x0B, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"setcb", setcc_insn, 1, SUF_B, 0x02, 0, 0, 0, CPU_386, 0, 0}, - {"lgsl", lfgss_insn, 3, SUF_L, 0xB5, 0, 0, 0, CPU_386, 0, 0}, - {"paveb", cyrixmmx_insn, 1, SUF_Z, 0x50, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0}, - {"sbbq", arith_insn, 22, SUF_Q, 0x18, 0x03, 0, ONLY_64, 0, 0, 0}, - {"vfmaddpd", fma_128_256_insn, 4, SUF_Z, 0x69, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0}, - {"fcos", twobyte_insn, 1, SUF_Z, 0xD9, 0xFF, 0, 0, CPU_286, CPU_FPU, 0}, - {"cvtsi2ssl", cvt_xmm_rmx_insn, 6, SUF_L, 0xF3, 0x2A, 0, 0, CPU_386, CPU_SSE, 0}, - {"setneb", setcc_insn, 1, SUF_B, 0x05, 0, 0, 0, CPU_386, 0, 0}, - {"vfnmsub132ps", vfma_ps_insn, 2, SUF_Z, 0x9E, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"lfsw", lfgss_insn, 3, SUF_W, 0xB4, 0, 0, 0, CPU_386, 0, 0}, - {"vpcmpestrm", sse4pcmpstr_insn, 1, SUF_Z, 0x60, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"arpl", arpl_insn, 1, SUF_Z, 0, 0, 0, NOT_64, CPU_286, CPU_Prot, 0}, - {"cmovew", cmovcc_insn, 3, SUF_W, 0x04, 0, 0, 0, CPU_686, 0, 0}, - {"pminuw", sse4_insn, 2, SUF_Z, 0x3A, 0, 0, 0, CPU_SSE41, 0, 0}, - {"movabsq", movabs_insn, 9, SUF_Q, 0, 0, 0, ONLY_64, 0, 0, 0}, - {"cmovo", cmovcc_insn, 3, SUF_Z, 0x00, 0, 0, 0, CPU_686, 0, 0}, - {"blsicl", xop_gpr_reg_rm_09_insn, 2, SUF_L, 0x01, 0x06, 0, 0, CPU_386, CPU_TBM, 0}, - {"smovw", onebyte_insn, 1, SUF_Z, 0xA5, 0x10, 0, 0, 0, 0, 0}, - {"faddl", farith_insn, 7, SUF_L, 0xC0, 0xC0, 0x00, 0, CPU_FPU, 0, 0}, - {"maxsd", xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x5F, 0, 0, CPU_SSE2, 0, 0}, - {"aad", aadm_insn, 2, SUF_Z, 0x01, 0, 0, NOT_64, 0, 0, 0}, - {"vpmaskmovq", vmaskmov_vexw1_avx2_insn, 4, SUF_Z, 0x8C, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, - {"vfmadd132sd", vfma_sd_insn, 2, SUF_Z, 0x99, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"rep", NULL, X86_LOCKREP>>8, 0xF3, 0, 0, 0, 0, 0, 0, 0}, - {"vcmpltss", ssecmp_32_insn, 4, SUF_Z, 0x01, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"sub", arith_insn, 22, SUF_Z, 0x28, 0x05, 0, 0, 0, 0, 0}, - {"smswq", sldtmsw_insn, 6, SUF_Q, 0x04, 0x01, 0, ONLY_64, CPU_286, 0, 0}, - {"qword", NULL, X86_OPERSIZE>>8, 0x40, 0, 0, 0, ONLY_64, 0, 0, 0}, - {"vcmpunordps", ssecmp_128_insn, 3, SUF_Z, 0x03, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"cltq", onebyte_insn, 1, SUF_Z, 0x98, 0x40, 0, ONLY_64, 0, 0, 0}, - {"vfnmadd213pd", vfma_pd_insn, 2, SUF_Z, 0xAC, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"minsd", xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x5D, 0, 0, CPU_SSE2, 0, 0}, - {"fmul", farith_insn, 7, SUF_Z, 0xC8, 0xC8, 0x01, 0, CPU_FPU, 0, 0}, - {"cmpss", xmm_xmm32_imm_insn, 4, SUF_Z, 0xF3, 0xC2, 0, 0, CPU_SSE, 0, 0}, - {"vcvtsd2si", cvt_rx_xmm64_insn, 4, SUF_Z, 0xF2, 0x2D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"addsd", xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x58, 0, 0, CPU_SSE2, 0, 0}, - {"vmulss", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x59, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"btsq", bittest_insn, 6, SUF_Q, 0xAB, 0x05, 0, ONLY_64, CPU_386, 0, 0}, - {"cvtsd2sil", cvt_rx_xmm64_insn, 4, SUF_L, 0xF2, 0x2D, 0, 0, CPU_386, CPU_SSE2, 0}, - {"vpcomtrueb", vpcom_insn, 1, SUF_Z, 0xCC, 0x07, 0, 0, CPU_XOP, 0, 0}, - {"vpcomeqb", vpcom_insn, 1, SUF_Z, 0xCC, 0x04, 0, 0, CPU_XOP, 0, 0}, - {"fidivr", fiarith_insn, 2, SUF_Z, 0x07, 0xDA, 0, 0, CPU_FPU, 0, 0}, - {"vpcomgeuw", vpcom_insn, 1, SUF_Z, 0xED, 0x03, 0, 0, CPU_XOP, 0, 0}, - {"cmovnel", cmovcc_insn, 3, SUF_L, 0x05, 0, 0, 0, CPU_686, 0, 0}, - {"vpmovzxwq", sse4m32_insn, 4, SUF_Z, 0x34, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vcmpeq_osss", ssecmp_32_insn, 4, SUF_Z, 0x10, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"shrb", shift_insn, 16, SUF_B, 0x05, 0, 0, 0, 0, 0, 0}, - {"maxpd", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x5F, 0, 0, CPU_SSE2, 0, 0}, - {"hsubps", xmm_xmm128_insn, 2, SUF_Z, 0xF2, 0x7D, 0, 0, CPU_SSE3, 0, 0}, - {"sarx", vex_gpr_reg_rm_nds_0F_insn, 2, SUF_Z, 0xF3, 0x38, 0xF7, ONLY_AVX, CPU_BMI2, 0, 0}, - {"vpcomgtb", vpcom_insn, 1, SUF_Z, 0xCC, 0x02, 0, 0, CPU_XOP, 0, 0}, - {"vextractf128", vextractif128_insn, 1, SUF_Z, 0x19, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vcvtsi2ssl", cvt_xmm_rmx_insn, 6, SUF_L, 0xF3, 0x2A, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"movzxb", movszx_insn, 5, SUF_B, 0xB6, 0, 0, 0, CPU_386, 0, 0}, - {"vpbroadcastw", vpbroadcastw_avx2_insn, 4, SUF_Z, 0, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, - {"shlw", shift_insn, 16, SUF_W, 0x04, 0, 0, 0, 0, 0, 0}, - {"cmpltps", ssecmp_128_insn, 3, SUF_Z, 0x01, 0, 0, 0, CPU_SSE, 0, 0}, - {"xlatb", onebyte_insn, 1, SUF_Z, 0xD7, 0x00, 0, 0, 0, 0, 0}, - {"xsha1", padlock_insn, 1, SUF_Z, 0xC8, 0xF3, 0xA6, 0, CPU_PadLock, 0, 0}, - {"lret", retnf_insn, 6, SUF_Z, 0xCA, 0, 0, 0, 0, 0, 0}, - {"xsha256", padlock_insn, 1, SUF_Z, 0xD0, 0xF3, 0xA6, 0, CPU_PadLock, 0, 0}, - {"vpsrad", vpshift_insn, 8, SUF_Z, 0xE2, 0x72, 0x04, ONLY_AVX, CPU_AVX, 0, 0}, - {"cmovnpl", cmovcc_insn, 3, SUF_L, 0x0B, 0, 0, 0, CPU_686, 0, 0}, - {"addw", arith_insn, 22, SUF_W, 0x00, 0x00, 0, 0, 0, 0, 0}, - {"setg", setcc_insn, 1, SUF_Z, 0x0F, 0, 0, 0, CPU_386, 0, 0}, - {"vphaddubq", vphaddsub_insn, 1, SUF_Z, 0xD3, 0, 0, 0, CPU_XOP, 0, 0}, - {"cmovngl", cmovcc_insn, 3, SUF_L, 0x0E, 0, 0, 0, CPU_686, 0, 0}, - {"vpermilpd", vpermil_insn, 4, SUF_Z, 0x05, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vpmacswd", vpma_insn, 1, SUF_Z, 0x96, 0, 0, 0, CPU_XOP, 0, 0}, - {"clac", threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xCA, 0, CPU_SMAP, 0, 0}, - {"punpckhwd", mmxsse2_insn, 2, SUF_Z, 0x69, 0, 0, 0, CPU_MMX, 0, 0}, - {"vpcmpgtb", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x64, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"leave", onebyte_insn, 1, SUF_Z, 0xC9, 0x00, 0x40, 0, CPU_186, 0, 0}, - {"shrd", shlrd_insn, 9, SUF_Z, 0xAC, 0, 0, 0, CPU_386, 0, 0}, - {"vfmsub132ps", vfma_ps_insn, 2, SUF_Z, 0x9A, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"lretl", retnf_insn, 6, SUF_L, 0xCA, 0, 0, 0, 0, 0, 0}, - {"cmovpol", cmovcc_insn, 3, SUF_L, 0x0B, 0, 0, 0, CPU_686, 0, 0}, - {"orl", arith_insn, 22, SUF_L, 0x08, 0x01, 0, 0, CPU_386, 0, 0}, - {"fnstcw", fldnstcw_insn, 1, SUF_Z, 0x07, 0, 0, 0, CPU_FPU, 0, 0}, - {"punpckldq", mmxsse2_insn, 2, SUF_Z, 0x62, 0, 0, 0, CPU_MMX, 0, 0}, - {"vpmaddwd", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xF5, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"mulb", f6_insn, 4, SUF_B, 0x04, 0, 0, 0, 0, 0, 0}, - {"cmppd", xmm_xmm128_imm_insn, 1, SUF_Z, 0x66, 0xC2, 0, 0, CPU_SSE2, 0, 0}, - {"rex", NULL, X86_REX>>8, 0x40, 0, 0, 0, ONLY_64, 0, 0, 0}, - {"movd", movd_insn, 8, SUF_Z, 0, 0, 0, 0, CPU_386, CPU_MMX, 0}, - {"vpshaw", amd_vpshift_insn, 2, SUF_Z, 0x99, 0, 0, 0, CPU_XOP, 0, 0}, - {"vrsqrtps", avx_xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x52, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vcvtph2ps", avx_cvtph2ps_insn, 4, SUF_Z, 0x66, 0x13, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vsubss", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x5C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"tzcntl", cnt_insn, 3, SUF_L, 0xBC, 0, 0, 0, CPU_BMI1, 0, 0}, - {"not", f6_insn, 4, SUF_Z, 0x02, 0, 0, 0, 0, 0, 0}, - {"cvtpd2pi", cvt_mm_xmm_insn, 1, SUF_Z, 0x66, 0x2D, 0, 0, CPU_SSE2, 0, 0}, - {"vcmpngtsd", ssecmp_64_insn, 4, SUF_Z, 0x0A, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"rex64yz", NULL, X86_REX>>8, 0x4B, 0, 0, 0, ONLY_64, 0, 0, 0}, - {"vpblendd", vex_66_0F3A_imm8_avx2_insn, 2, SUF_Z, 0x02, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, - {"vpmovmskb", pmovmskb_insn, 6, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"fldt", fldstpt_insn, 1, SUF_Z, 0x05, 0, 0, 0, CPU_FPU, 0, 0}, - {"vpunpcklbw", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x60, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"femms", twobyte_insn, 1, SUF_Z, 0x0F, 0x0E, 0, 0, CPU_3DNow, 0, 0}, - {"vpsrlvq", vpshiftv_vexw1_avx2_insn, 2, SUF_Z, 0x45, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, - {"paddusb", mmxsse2_insn, 2, SUF_Z, 0xDC, 0, 0, 0, CPU_MMX, 0, 0}, - {"movdq2q", movdq2q_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SSE2, 0, 0}, - {"vfnmsub132pd", vfma_pd_insn, 2, SUF_Z, 0x9E, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"adcb", arith_insn, 22, SUF_B, 0x10, 0x02, 0, 0, 0, 0, 0}, - {"vcmpneqps", ssecmp_128_insn, 3, SUF_Z, 0x04, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"andnl", vex_gpr_reg_nds_rm_0F_insn, 2, SUF_L, 0x00, 0x38, 0xF2, ONLY_AVX, CPU_BMI1, 0, 0}, - {"fnstenvl", onebytemem_insn, 1, SUF_L, 0x06, 0xD9, 0, 0, CPU_FPU, 0, 0}, - {"smi", onebyte_insn, 1, SUF_Z, 0xF1, 0, 0, 0, CPU_386, CPU_Undoc, 0}, - {"cmovol", cmovcc_insn, 3, SUF_L, 0x00, 0, 0, 0, CPU_686, 0, 0}, - {"wait", onebyte_insn, 1, SUF_Z, 0x9B, 0, 0, 0, 0, 0, 0}, - {"vpcmov", vpcmov_insn, 4, SUF_Z, 0, 0, 0, 0, CPU_XOP, 0, 0}, - {"vunpcklpd", xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x14, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"jl", jcc_insn, 9, SUF_Z, 0x0C, 0, 0, 0, 0, 0, 0}, - {"fnclex", twobyte_insn, 1, SUF_Z, 0xDB, 0xE2, 0, 0, CPU_FPU, 0, 0}, - {"shlq", shift_insn, 16, SUF_Q, 0x04, 0, 0, ONLY_64, 0, 0, 0}, - {"sall", shift_insn, 16, SUF_L, 0x04, 0, 0, 0, CPU_386, 0, 0}, - {"swapgs", threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xF8, ONLY_64, 0, 0, 0}, - {"cvttps2dq", xmm_xmm128_insn, 2, SUF_Z, 0xF3, 0x5B, 0, 0, CPU_SSE2, 0, 0}, - {"pmaxud", sse4_insn, 2, SUF_Z, 0x3F, 0, 0, 0, CPU_SSE41, 0, 0}, - {"vpaddsw", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xED, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"prefetcht0", twobytemem_insn, 1, SUF_Z, 0x01, 0x0F, 0x18, 0, CPU_P3, 0, 0}, - {"repne", NULL, X86_LOCKREP>>8, 0xF2, 0, 0, 0, 0, 0, 0, 0}, - {"vfmsub132ss", vfma_ss_insn, 2, SUF_Z, 0x9B, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"lsll", larlsl_insn, 6, SUF_L, 0x03, 0, 0, 0, CPU_286, CPU_Prot, 0}, - {"vgatherqps", gather_32x_32y_128_insn, 2, SUF_Z, 0x93, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, - {"vrsqrtss", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x52, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"divl", div_insn, 8, SUF_L, 0x06, 0, 0, 0, CPU_386, 0, 0}, - {"pcmpgtq", sse4_insn, 2, SUF_Z, 0x37, 0, 0, 0, CPU_SSE41, 0, 0}, - {"pmulhrsw", ssse3_insn, 5, SUF_Z, 0x0B, 0, 0, 0, CPU_SSSE3, 0, 0}, - {"repe", NULL, X86_LOCKREP>>8, 0xF3, 0, 0, 0, 0, 0, 0, 0}, - {"vpcomtrued", vpcom_insn, 1, SUF_Z, 0xCE, 0x07, 0, 0, CPU_XOP, 0, 0}, - {"fldl", fld_insn, 4, SUF_L, 0, 0, 0, 0, CPU_FPU, 0, 0}, - {"cvtps2pd", xmm_xmm64_insn, 4, SUF_Z, 0x00, 0x5A, 0, 0, CPU_SSE2, 0, 0}, - {"vcmpnless", ssecmp_32_insn, 4, SUF_Z, 0x06, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"loopeq", loopq_insn, 4, SUF_Z, 0x01, 0x40, 0, ONLY_64, 0, 0, 0}, - {"aesdeclast", aes_insn, 2, SUF_Z, 0x38, 0xDF, 0, 0, CPU_AVX, 0, 0}, - {"vpcomequb", vpcom_insn, 1, SUF_Z, 0xEC, 0x04, 0, 0, CPU_XOP, 0, 0}, - {"stgi", threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xDC, 0, CPU_SVM, 0, 0}, - {"vpmovzxbd", sse4m32_insn, 4, SUF_Z, 0x31, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"psignb", ssse3_insn, 5, SUF_Z, 0x08, 0, 0, 0, CPU_SSSE3, 0, 0}, - {"vpshlq", amd_vpshift_insn, 2, SUF_Z, 0x97, 0, 0, 0, CPU_XOP, 0, 0}, - {"vpcomfalseuq", vpcom_insn, 1, SUF_Z, 0xEF, 0x06, 0, 0, CPU_XOP, 0, 0}, - {"mulxq", vex_gpr_reg_nds_rm_0F_insn, 2, SUF_Q, 0xF2, 0x38, 0xF6, ONLY_64|ONLY_AVX, CPU_BMI2, 0, 0}, - {"jmpq", jmp_insn, 31, SUF_Q, 0, 0, 0, ONLY_64, 0, 0, 0}, - {"cvtsd2siq", cvt_rx_xmm64_insn, 4, SUF_Q, 0xF2, 0x2D, 0, ONLY_64, CPU_SSE2, 0, 0}, - {"movhpd", movhlp_insn, 3, SUF_Z, 0x66, 0x16, 0, 0, CPU_SSE2, 0, 0}, - {"punpcklqdq", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x6C, 0, 0, CPU_SSE2, 0, 0}, - {"verw", prot286_insn, 1, SUF_Z, 0x05, 0x00, 0, 0, CPU_286, CPU_Prot, 0}, - {"cmpunordsd", ssecmp_64_insn, 4, SUF_Z, 0x03, 0xF2, 0, 0, CPU_SSE2, 0, 0}, - {"vzeroall", vzero_insn, 1, SUF_Z, 0xC4, 0, 0, 0, CPU_AVX, 0, 0}, - {"vperm2i128", vperm2i128_avx2_insn, 1, SUF_Z, 0, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, - {"jo", jcc_insn, 9, SUF_Z, 0x00, 0, 0, 0, 0, 0, 0}, - {"callq", call_insn, 30, SUF_Q, 0, 0, 0, ONLY_64, 0, 0, 0}, - {"cmovle", cmovcc_insn, 3, SUF_Z, 0x0E, 0, 0, 0, CPU_686, 0, 0}, - {"sgdtq", twobytemem_insn, 1, SUF_Q, 0x00, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0}, - {"cmovnpq", cmovcc_insn, 3, SUF_Q, 0x0B, 0, 0, ONLY_64, CPU_686, 0, 0}, - {"cvtpd2ps", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x5A, 0, 0, CPU_SSE2, 0, 0}, - {"minss", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x5D, 0, 0, CPU_SSE, 0, 0}, - {"loopw", loopw_insn, 4, SUF_Z, 0x02, 0x10, 0, NOT_64, 0, 0, 0}, - {"inveptl", eptvpid_insn, 2, SUF_L, 0x00, 0, 0, NOT_64, CPU_386, CPU_EPTVPID, 0}, - {"bsr", bsfr_insn, 3, SUF_Z, 0xBD, 0, 0, 0, CPU_386, 0, 0}, - {"vcmpgtss", ssecmp_32_insn, 4, SUF_Z, 0x0E, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"negl", f6_insn, 4, SUF_L, 0x03, 0, 0, 0, CPU_386, 0, 0}, - {"psrlw", pshift_insn, 4, SUF_Z, 0xD1, 0x71, 0x02, 0, CPU_MMX, 0, 0}, - {"vpmuludq", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xF4, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"pext", vex_gpr_reg_nds_rm_0F_insn, 2, SUF_Z, 0xF3, 0x38, 0xF5, ONLY_AVX, CPU_BMI2, 0, 0}, - {"rsm", twobyte_insn, 1, SUF_Z, 0x0F, 0xAA, 0, 0, CPU_586, CPU_SMM, 0}, - {"addl", arith_insn, 22, SUF_L, 0x00, 0x00, 0, 0, CPU_386, 0, 0}, - {"vpermd", vperm_var_avx2_insn, 1, SUF_Z, 0x36, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, - {"fxsave", twobytemem_insn, 1, SUF_Z, 0x00, 0x0F, 0xAE, 0, CPU_686, CPU_FPU, 0}, - {"vphadduwq", vphaddsub_insn, 1, SUF_Z, 0xD7, 0, 0, 0, CPU_XOP, 0, 0}, - {"pminud", sse4_insn, 2, SUF_Z, 0x3B, 0, 0, 0, CPU_SSE41, 0, 0}, - {"ldsw", ldes_insn, 2, SUF_W, 0xC5, 0, 0, NOT_64, 0, 0, 0}, - {"movsw", onebyte_insn, 1, SUF_Z, 0xA5, 0x10, 0, 0, 0, 0, 0}, - {"pmaxub", mmxsse2_insn, 2, SUF_Z, 0xDE, 0, 0, 0, CPU_MMX, CPU_P3, 0}, - {"vldmxcsr", ldstmxcsr_insn, 1, SUF_Z, 0x02, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vhsubpd", xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x7D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vucomisd", avx_xmm_xmm64_insn, 2, SUF_Z, 0x66, 0x2E, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"cmovpow", cmovcc_insn, 3, SUF_W, 0x0B, 0, 0, 0, CPU_686, 0, 0}, - {"pmvgezb", cyrixmmx_insn, 1, SUF_Z, 0x5C, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0}, - {"cvtsd2ss", xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x5A, 0, 0, CPU_SSE2, 0, 0}, - {"vbroadcastf128", vbroadcastif128_insn, 1, SUF_Z, 0x1A, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"lldt", prot286_insn, 1, SUF_Z, 0x02, 0x00, 0, 0, CPU_286, CPU_Priv, CPU_Prot}, - {"t1mskc", xop_gpr_reg_rm_09_insn, 2, SUF_Z, 0x01, 0x07, 0, 0, CPU_386, CPU_TBM, 0}, - {"movsx", movszx_insn, 5, SUF_Z, 0xBE, 0, 0, 0, CPU_386, 0, 0}, - {"vpmacsdd", vpma_insn, 1, SUF_Z, 0x9E, 0, 0, 0, CPU_XOP, 0, 0}, - {"vcmplesd", ssecmp_64_insn, 4, SUF_Z, 0x02, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"prefetchw", twobytemem_insn, 1, SUF_Z, 0x01, 0x0F, 0x0D, 0, CPU_PRFCHW, 0, 0}, - {"pextrd", pextrd_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_386, CPU_SSE41, 0}, - {"vcmpfalse_osps", ssecmp_128_insn, 3, SUF_Z, 0x1B, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vptest", sse4_insn, 2, SUF_Z, 0x17, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"loopneq", loopq_insn, 4, SUF_Z, 0x00, 0x40, 0, ONLY_64, 0, 0, 0}, - {"fucompp", twobyte_insn, 1, SUF_Z, 0xDA, 0xE9, 0, 0, CPU_286, CPU_FPU, 0}, - {"vpextrq", pextrq_insn, 1, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"umov", umov_insn, 6, SUF_Z, 0, 0, 0, 0, CPU_386, CPU_Undoc, 0}, - {"fcmovb", fcmovcc_insn, 1, SUF_Z, 0xDA, 0xC0, 0, 0, CPU_686, CPU_FPU, 0}, - {"vinsertf128", vinsertif128_insn, 1, SUF_Z, 0x18, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"std", onebyte_insn, 1, SUF_Z, 0xFD, 0, 0, 0, 0, 0, 0}, - {"cvtpd2dq", xmm_xmm128_insn, 2, SUF_Z, 0xF2, 0xE6, 0, 0, CPU_SSE2, 0, 0}, - {"vpcomned", vpcom_insn, 1, SUF_Z, 0xCE, 0x05, 0, 0, CPU_XOP, 0, 0}, - {"vpand", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xDB, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"bswapq", bswap_insn, 2, SUF_Q, 0, 0, 0, ONLY_64, 0, 0, 0}, - {"vpmacssdqh", vpma_insn, 1, SUF_Z, 0x8F, 0, 0, 0, CPU_XOP, 0, 0}, - {"blcicl", xop_gpr_reg_rm_09_insn, 2, SUF_L, 0x01, 0x05, 0, 0, CPU_386, CPU_TBM, 0}, - {"strq", str_insn, 4, SUF_Q, 0, 0, 0, ONLY_64, CPU_286, CPU_Prot, 0}, - {"vshufps", xmm_xmm128_imm_256_insn, 3, SUF_Z, 0x00, 0xC6, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"roll", shift_insn, 16, SUF_L, 0x00, 0, 0, 0, CPU_386, 0, 0}, - {"cvttpd2dq", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0xE6, 0, 0, CPU_SSE2, 0, 0}, - {"salq", shift_insn, 16, SUF_Q, 0x04, 0, 0, ONLY_64, 0, 0, 0}, - {"vpcomfalseq", vpcom_insn, 1, SUF_Z, 0xCF, 0x06, 0, 0, CPU_XOP, 0, 0}, - {"leaq", lea_insn, 3, SUF_Q, 0, 0, 0, ONLY_64, 0, 0, 0}, - {"vmovdqu", movau_insn, 6, SUF_Z, 0xF3, 0x6F, 0x10, ONLY_AVX, CPU_AVX, 0, 0}, - {"vpmaddubsw", ssse3_insn, 5, SUF_Z, 0x04, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"cmpltpd", ssecmp_128_insn, 3, SUF_Z, 0x01, 0x66, 0, 0, CPU_SSE, 0, 0}, - {"outw", out_insn, 12, SUF_W, 0, 0, 0, 0, 0, 0, 0}, - {"cmovncq", cmovcc_insn, 3, SUF_Q, 0x03, 0, 0, ONLY_64, CPU_686, 0, 0}, - {"blcmskl", xop_gpr_reg_rm_09_insn, 2, SUF_L, 0x02, 0x01, 0, 0, CPU_386, CPU_TBM, 0}, - {"vfmadd231ss", vfma_ss_insn, 2, SUF_Z, 0xB9, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"cmpordsd", ssecmp_64_insn, 4, SUF_Z, 0x07, 0xF2, 0, 0, CPU_SSE2, 0, 0}, - {"setnle", setcc_insn, 1, SUF_Z, 0x0F, 0, 0, 0, CPU_386, 0, 0}, - {"vfmadd231pd", vfma_pd_insn, 2, SUF_Z, 0xB8, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"vcmpneqsd", ssecmp_64_insn, 4, SUF_Z, 0x04, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vmptrst", vmxtwobytemem_insn, 1, SUF_Z, 0x07, 0, 0, 0, CPU_P4, 0, 0}, - {"cmovsl", cmovcc_insn, 3, SUF_L, 0x08, 0, 0, 0, CPU_686, 0, 0}, - {"vpmovsxbw", sse4m64_insn, 4, SUF_Z, 0x20, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vcmpneq_ossd", ssecmp_64_insn, 4, SUF_Z, 0x1C, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"xgetbv", threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xD0, 0, CPU_386, CPU_XSAVE, 0}, - {"addr32", NULL, X86_ADDRSIZE>>8, 0x20, 0, 0, 0, 0, 0, 0, 0}, - {"vcmpneq_osss", ssecmp_32_insn, 4, SUF_Z, 0x1C, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vmulsd", xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x59, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"maskmovdqu", maskmovdqu_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SSE2, 0, 0}, - {"vpslldq", pslrldq_insn, 4, SUF_Z, 0x07, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"maskmovq", maskmovq_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_MMX, CPU_P3, 0}, - {"vcmpeq_uspd", ssecmp_128_insn, 3, SUF_Z, 0x18, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"pmulhriw", cyrixmmx_insn, 1, SUF_Z, 0x5D, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0}, - {"vcvtps2dq", avx_xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x5B, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vfnmsub231ss", vfma_ss_insn, 2, SUF_Z, 0xBF, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"shrx", vex_gpr_reg_rm_nds_0F_insn, 2, SUF_Z, 0xF2, 0x38, 0xF7, ONLY_AVX, CPU_BMI2, 0, 0}, - {"psadbw", mmxsse2_insn, 2, SUF_Z, 0xF6, 0, 0, 0, CPU_MMX, CPU_P3, 0}, - {"vmovd", vmovd_insn, 2, SUF_Z, 0, 0, 0, ONLY_AVX, CPU_386, CPU_AVX, 0}, - {"pushfl", onebyte_insn, 1, SUF_Z, 0x9C, 0x20, 0, NOT_64, CPU_386, 0, 0}, - {"vfnmadd132ps", vfma_ps_insn, 2, SUF_Z, 0x9C, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"sqrtpd", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x51, 0, 0, CPU_SSE2, 0, 0}, - {"cvtss2sil", cvt_rx_xmm32_insn, 4, SUF_L, 0xF3, 0x2D, 0, 0, CPU_386, CPU_SSE, 0}, - {"fyl2x", twobyte_insn, 1, SUF_Z, 0xD9, 0xF1, 0, 0, CPU_FPU, 0, 0}, - {"btq", bittest_insn, 6, SUF_Q, 0xA3, 0x04, 0, ONLY_64, CPU_386, 0, 0}, - {"vpslld", vpshift_insn, 8, SUF_Z, 0xF2, 0x72, 0x06, ONLY_AVX, CPU_AVX, 0, 0}, - {"invlpga", invlpga_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_SVM, 0, 0}, - {"xorb", arith_insn, 22, SUF_B, 0x30, 0x06, 0, 0, 0, 0, 0}, - {"fsubp", farithp_insn, 3, SUF_Z, 0xE0, 0, 0, 0, CPU_FPU, 0, 0}, - {"vcvtps2pd", avx_cvt_xmm64_insn, 3, SUF_Z, 0x00, 0x5A, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vfnmsub213pd", vfma_pd_insn, 2, SUF_Z, 0xAE, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"vcvttsd2sil", cvt_rx_xmm64_insn, 4, SUF_L, 0xF2, 0x2C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"jp", jcc_insn, 9, SUF_Z, 0x0A, 0, 0, 0, 0, 0, 0}, - {"vsubpd", xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x5C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"lesw", ldes_insn, 2, SUF_W, 0xC4, 0, 0, NOT_64, 0, 0, 0}, - {"vxorps", xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x57, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"divb", div_insn, 8, SUF_B, 0x06, 0, 0, 0, 0, 0, 0}, - {"movq", mov_insn, 69, SUF_Q, 0, 0, 0, 0, 0, 0, 0}, - {"lfsl", lfgss_insn, 3, SUF_L, 0xB4, 0, 0, 0, CPU_386, 0, 0}, - {"syscall", twobyte_insn, 1, SUF_Z, 0x0F, 0x05, 0, 0, CPU_686, CPU_AMD, 0}, - {"btl", bittest_insn, 6, SUF_L, 0xA3, 0x04, 0, 0, CPU_386, 0, 0}, - {"fucomip", fcom2_insn, 2, SUF_Z, 0xDF, 0xE8, 0, 0, CPU_686, CPU_FPU, 0}, - {"setncb", setcc_insn, 1, SUF_B, 0x03, 0, 0, 0, CPU_386, 0, 0}, - {"cmovnol", cmovcc_insn, 3, SUF_L, 0x01, 0, 0, 0, CPU_686, 0, 0}, - {"xcryptcbc", padlock_insn, 1, SUF_Z, 0xD0, 0xF3, 0xA7, 0, CPU_PadLock, 0, 0}, - {"vcmplt_oqps", ssecmp_128_insn, 3, SUF_Z, 0x11, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"btrq", bittest_insn, 6, SUF_Q, 0xB3, 0x06, 0, ONLY_64, CPU_386, 0, 0}, - {"paddw", mmxsse2_insn, 2, SUF_Z, 0xFD, 0, 0, 0, CPU_MMX, 0, 0}, - {"pmovzxbq", sse4m16_insn, 4, SUF_Z, 0x32, 0, 0, 0, CPU_SSE41, 0, 0}, - {"rorq", shift_insn, 16, SUF_Q, 0x01, 0, 0, ONLY_64, 0, 0, 0}, - {"xrelease", NULL, X86_ACQREL>>8, 0xF3, 0, 0, 0, 0, 0, 0, 0}, - {"vpshld", amd_vpshift_insn, 2, SUF_Z, 0x96, 0, 0, 0, CPU_XOP, 0, 0}, - {"fstp", fstp_insn, 4, SUF_Z, 0, 0, 0, 0, CPU_FPU, 0, 0}, - {"movsbq", movszx_insn, 5, SUF_B, 0xBE, 0, 0, ONLY_64, CPU_386, 0, 0}, - {"fucom", fcom2_insn, 2, SUF_Z, 0xDD, 0xE0, 0, 0, CPU_286, CPU_FPU, 0}, - {"vpclmullqlqdq", pclmulqdq_fixed_insn, 2, SUF_Z, 0x00, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"hsubpd", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x7D, 0, 0, CPU_SSE3, 0, 0}, - {"por", mmxsse2_insn, 2, SUF_Z, 0xEB, 0, 0, 0, CPU_MMX, 0, 0}, - {"mulx", vex_gpr_reg_nds_rm_0F_insn, 2, SUF_Z, 0xF2, 0x38, 0xF6, ONLY_AVX, CPU_BMI2, 0, 0}, - {"vpcomneqb", vpcom_insn, 1, SUF_Z, 0xCC, 0x05, 0, 0, CPU_XOP, 0, 0}, - {"movmskps", movmsk_insn, 4, SUF_Z, 0, 0, 0, 0, CPU_386, CPU_SSE, 0}, - {"fucomi", fcom2_insn, 2, SUF_Z, 0xDB, 0xE8, 0, 0, CPU_686, CPU_FPU, 0}, - {"ht", NULL, X86_SEGREG>>8, 0x3E, 0, 0, 0, 0, 0, 0, 0}, - {"vroundps", avx_sse4imm_insn, 3, SUF_Z, 0x08, 0, 0, ONLY_AVX, CPU_SSE41, 0, 0}, - {"ud1", twobyte_insn, 1, SUF_Z, 0x0F, 0xB9, 0, 0, CPU_286, CPU_Undoc, 0}, - {"insl", onebyte_insn, 1, SUF_Z, 0x6D, 0x20, 0, 0, CPU_386, 0, 0}, - {"vcmpngt_uqpd", ssecmp_128_insn, 3, SUF_Z, 0x1A, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"rex64y", NULL, X86_REX>>8, 0x4A, 0, 0, 0, ONLY_64, 0, 0, 0}, - {"fldln2", twobyte_insn, 1, SUF_Z, 0xD9, 0xED, 0, 0, CPU_FPU, 0, 0}, - {"ldsl", ldes_insn, 2, SUF_L, 0xC5, 0, 0, NOT_64, CPU_386, 0, 0}, - {"tzmskl", xop_gpr_reg_rm_09_insn, 2, SUF_L, 0x01, 0x04, 0, 0, CPU_386, CPU_TBM, 0}, - {"vcmppd", xmm_xmm128_imm_256_insn, 3, SUF_Z, 0x66, 0xC2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"sidtw", twobytemem_insn, 1, SUF_W, 0x01, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0}, - {"vpextrwl", pextrw_insn, 7, SUF_L, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"fldl2t", twobyte_insn, 1, SUF_Z, 0xD9, 0xE9, 0, 0, CPU_FPU, 0, 0}, - {"insb", onebyte_insn, 1, SUF_Z, 0x6C, 0x00, 0, 0, 0, 0, 0}, - {"bound", bound_insn, 2, SUF_Z, 0, 0, 0, NOT_64, CPU_186, 0, 0}, - {"vmwrite", vmxmemwr_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_P4, 0, 0}, - {"cmpxchgq", cmpxchgxadd_insn, 4, SUF_Q, 0xB0, 0, 0, ONLY_64, CPU_486, 0, 0}, - {"fsts", fst_insn, 3, SUF_S, 0, 0, 0, 0, CPU_FPU, 0, 0}, - {"orps", xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x56, 0, 0, CPU_SSE, 0, 0}, - {"vandnps", xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x55, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"fdivrs", farith_insn, 7, SUF_S, 0xF0, 0xF8, 0x07, 0, CPU_FPU, 0, 0}, - {"fldcww", fldnstcw_insn, 1, SUF_W, 0x05, 0, 0, 0, CPU_FPU, 0, 0}, - {"movl", mov_insn, 69, SUF_L, 0, 0, 0, 0, CPU_386, 0, 0}, - {"movq2dq", movq2dq_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SSE2, 0, 0}, - {"cmpunordpd", ssecmp_128_insn, 3, SUF_Z, 0x03, 0x66, 0, 0, CPU_SSE, 0, 0}, - {"rdseed", rdrand_insn, 3, SUF_Z, 0x07, 0, 0, 0, CPU_RDSEED, 0, 0}, - {"cmovneq", cmovcc_insn, 3, SUF_Q, 0x05, 0, 0, ONLY_64, CPU_686, 0, 0}, - {"vpmovzxbq", sse4m16_insn, 4, SUF_Z, 0x32, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"cmpsb", onebyte_insn, 1, SUF_Z, 0xA6, 0x00, 0, 0, 0, 0, 0}, - {"vfmadd213sd", vfma_sd_insn, 2, SUF_Z, 0xA9, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"into", onebyte_insn, 1, SUF_Z, 0xCE, 0, 0, NOT_64, 0, 0, 0}, - {"cmovzl", cmovcc_insn, 3, SUF_L, 0x04, 0, 0, 0, CPU_686, 0, 0}, - {"imulb", imul_insn, 19, SUF_B, 0, 0, 0, 0, 0, 0, 0}, - {"setc", setcc_insn, 1, SUF_Z, 0x02, 0, 0, 0, CPU_386, 0, 0}, - {"vstmxcsr", ldstmxcsr_insn, 1, SUF_Z, 0x03, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"fldenv", onebytemem_insn, 1, SUF_Z, 0x04, 0xD9, 0, 0, CPU_FPU, 0, 0}, - {"pmovsxwd", sse4m64_insn, 4, SUF_Z, 0x23, 0, 0, 0, CPU_SSE41, 0, 0}, - {"vcmpnltss", ssecmp_32_insn, 4, SUF_Z, 0x05, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"movntpd", movnt_insn, 2, SUF_Z, 0x66, 0x2B, 0, 0, CPU_SSE2, 0, 0}, - {"pcmpeqw", mmxsse2_insn, 2, SUF_Z, 0x75, 0, 0, 0, CPU_MMX, 0, 0}, - {"fcoms", fcom_insn, 6, SUF_S, 0xD0, 0x02, 0, 0, CPU_FPU, 0, 0}, - {"vpaddb", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xFC, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"sldt", sldtmsw_insn, 6, SUF_Z, 0x00, 0x00, 0, 0, CPU_286, 0, 0}, - {"fisttpq", fildstp_insn, 4, SUF_Q, 0x01, 0x00, 0x01, 0, CPU_SSE3, 0, 0}, - {"vpmacsww", vpma_insn, 1, SUF_Z, 0x95, 0, 0, 0, CPU_XOP, 0, 0}, - {"jne", jcc_insn, 9, SUF_Z, 0x05, 0, 0, 0, 0, 0, 0}, - {"shldl", shlrd_insn, 9, SUF_L, 0xA4, 0, 0, 0, CPU_386, 0, 0}, - {"cmc", onebyte_insn, 1, SUF_Z, 0xF5, 0, 0, 0, 0, 0, 0}, - {"cmovs", cmovcc_insn, 3, SUF_Z, 0x08, 0, 0, 0, CPU_686, 0, 0}, - {"movlpd", movhlp_insn, 3, SUF_Z, 0x66, 0x12, 0, 0, CPU_SSE2, 0, 0}, - {"calll", call_insn, 30, SUF_L, 0, 0, 0, 0, CPU_386, 0, 0}, - {"subb", arith_insn, 22, SUF_B, 0x28, 0x05, 0, 0, 0, 0, 0}, - {"lmsww", prot286_insn, 1, SUF_W, 0x06, 0x01, 0, 0, CPU_286, CPU_Priv, 0}, - {"vmrun", svm_rax_insn, 2, SUF_Z, 0xD8, 0, 0, 0, CPU_SVM, 0, 0}, - {"cmovna", cmovcc_insn, 3, SUF_Z, 0x06, 0, 0, 0, CPU_686, 0, 0}, - {"cmovnpw", cmovcc_insn, 3, SUF_W, 0x0B, 0, 0, 0, CPU_686, 0, 0}, - {"bextrq", bextr_insn, 4, SUF_Q, 0, 0, 0, ONLY_64|ONLY_AVX, CPU_BMI1, 0, 0}, - {"vpmacssww", vpma_insn, 1, SUF_Z, 0x85, 0, 0, 0, CPU_XOP, 0, 0}, - {"vdivss", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x5E, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"movabsl", movabs_insn, 9, SUF_L, 0, 0, 0, ONLY_64, 0, 0, 0}, - {"callw", call_insn, 30, SUF_W, 0, 0, 0, 0, 0, 0, 0}, - {"vpcomlew", vpcom_insn, 1, SUF_Z, 0xCD, 0x01, 0, 0, CPU_XOP, 0, 0}, - {"fninit", twobyte_insn, 1, SUF_Z, 0xDB, 0xE3, 0, 0, CPU_FPU, 0, 0}, - {"vpavgw", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xE3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vcmpltpd", ssecmp_128_insn, 3, SUF_Z, 0x01, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"cpuid", twobyte_insn, 1, SUF_Z, 0x0F, 0xA2, 0, 0, CPU_486, 0, 0}, - {"pmovzxwq", sse4m32_insn, 4, SUF_Z, 0x34, 0, 0, 0, CPU_SSE41, 0, 0}, - {"cmovnaew", cmovcc_insn, 3, SUF_W, 0x02, 0, 0, 0, CPU_686, 0, 0}, - {"comiss", xmm_xmm32_insn, 4, SUF_Z, 0x00, 0x2F, 0, 0, CPU_SSE, 0, 0}, - {"cmovnoq", cmovcc_insn, 3, SUF_Q, 0x01, 0, 0, ONLY_64, CPU_686, 0, 0}, - {"negb", f6_insn, 4, SUF_B, 0x03, 0, 0, 0, 0, 0, 0}, - {"vfnmadd231sd", vfma_sd_insn, 2, SUF_Z, 0xBD, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"xchgw", xchg_insn, 16, SUF_W, 0, 0, 0, 0, 0, 0, 0}, - {"rexz", NULL, X86_REX>>8, 0x41, 0, 0, 0, ONLY_64, 0, 0, 0}, - {"sbb", arith_insn, 22, SUF_Z, 0x18, 0x03, 0, 0, 0, 0, 0}, - {"lslw", larlsl_insn, 6, SUF_W, 0x03, 0, 0, 0, CPU_286, CPU_Prot, 0}, - {"cmovnzw", cmovcc_insn, 3, SUF_W, 0x05, 0, 0, 0, CPU_686, 0, 0}, - {"vfrczpd", vfrc_pdps_insn, 2, SUF_Z, 0x01, 0, 0, 0, CPU_XOP, 0, 0}, - {"bsrw", bsfr_insn, 3, SUF_W, 0xBD, 0, 0, 0, CPU_386, 0, 0}, - {"fcomps", fcom_insn, 6, SUF_S, 0xD8, 0x03, 0, 0, CPU_FPU, 0, 0}, - {"rorx", vex_gpr_reg_rm_0F_imm8_insn, 2, SUF_Z, 0xF2, 0x3A, 0xF0, ONLY_AVX, CPU_BMI2, 0, 0}, - {"shufpd", xmm_xmm128_imm_insn, 1, SUF_Z, 0x66, 0xC6, 0, 0, CPU_SSE2, 0, 0}, - {"vpcomleq", vpcom_insn, 1, SUF_Z, 0xCF, 0x01, 0, 0, CPU_XOP, 0, 0}, - {"vcmpunordsd", ssecmp_64_insn, 4, SUF_Z, 0x03, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"minps", xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x5D, 0, 0, CPU_SSE, 0, 0}, - {"vaesimc", aesimc_insn, 1, SUF_Z, 0x38, 0xDB, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"movhps", movhlp_insn, 3, SUF_Z, 0x00, 0x16, 0, 0, CPU_SSE, 0, 0}, - {"vdivps", xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x5E, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"filds", fildstp_insn, 4, SUF_S, 0x00, 0x02, 0x05, 0, CPU_FPU, 0, 0}, - {"adc", arith_insn, 22, SUF_Z, 0x10, 0x02, 0, 0, 0, 0, 0}, - {"vtestpd", sse4_insn, 2, SUF_Z, 0x0F, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"pfpnacc", now3d_insn, 1, SUF_Z, 0x8E, 0, 0, 0, CPU_3DNow, CPU_Athlon, 0}, - {"vmovsldup", avx_xmm_xmm128_insn, 2, SUF_Z, 0xF3, 0x12, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vpbroadcastb", vpbroadcastb_avx2_insn, 4, SUF_Z, 0, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, - {"sahf", onebyte_insn, 1, SUF_Z, 0x9E, 0, 0, 0, 0, 0, 0}, - {"vmovhps", movhlp_insn, 3, SUF_Z, 0x00, 0x16, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"fpatan", twobyte_insn, 1, SUF_Z, 0xD9, 0xF3, 0, 0, CPU_FPU, 0, 0}, - {"psubw", mmxsse2_insn, 2, SUF_Z, 0xF9, 0, 0, 0, CPU_MMX, 0, 0}, - {"sqrtss", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x51, 0, 0, CPU_SSE, 0, 0}, - {"vpminuw", ssse3_insn, 5, SUF_Z, 0x3A, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"rex64z", NULL, X86_REX>>8, 0x49, 0, 0, 0, ONLY_64, 0, 0, 0}, - {"cmovng", cmovcc_insn, 3, SUF_Z, 0x0E, 0, 0, 0, CPU_686, 0, 0}, - {"cmovngq", cmovcc_insn, 3, SUF_Q, 0x0E, 0, 0, ONLY_64, CPU_686, 0, 0}, - {"blcil", xop_gpr_reg_rm_09_insn, 2, SUF_L, 0x02, 0x06, 0, 0, CPU_386, CPU_TBM, 0}, - {"setob", setcc_insn, 1, SUF_B, 0x00, 0, 0, 0, CPU_386, 0, 0}, - {"xbts", xbts_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_386, CPU_Obs, CPU_Undoc}, - {"loopne", loop_insn, 8, SUF_Z, 0x00, 0, 0, 0, 0, 0, 0}, - {"fxch", fxch_insn, 4, SUF_Z, 0, 0, 0, 0, CPU_FPU, 0, 0}, - {"vfmsubadd132pd", vfma_pd_insn, 2, SUF_Z, 0x97, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"vmovddup", vmovddup_insn, 3, SUF_Z, 0xF2, 0x12, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"enterq", enter_insn, 3, SUF_Q, 0, 0, 0, ONLY_64, CPU_186, 0, 0}, - {"vpcomnequw", vpcom_insn, 1, SUF_Z, 0xED, 0x05, 0, 0, CPU_XOP, 0, 0}, - {"vpunpckhdq", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x6A, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"fnstenvs", onebytemem_insn, 1, SUF_S, 0x06, 0xD9, 0, 0, CPU_FPU, 0, 0}, - {"phaddd", ssse3_insn, 5, SUF_Z, 0x02, 0, 0, 0, CPU_SSSE3, 0, 0}, - {"vmovups", movau_insn, 6, SUF_Z, 0x00, 0x10, 0x01, ONLY_AVX, CPU_AVX, 0, 0}, - {"vpcomneuq", vpcom_insn, 1, SUF_Z, 0xEF, 0x05, 0, 0, CPU_XOP, 0, 0}, - {"imul", imul_insn, 19, SUF_Z, 0, 0, 0, 0, 0, 0, 0}, - {"fimuls", fiarith_insn, 2, SUF_S, 0x01, 0xDA, 0, 0, CPU_FPU, 0, 0}, - {"jg", jcc_insn, 9, SUF_Z, 0x0F, 0, 0, 0, 0, 0, 0}, - {"fcoml", fcom_insn, 6, SUF_L, 0xD0, 0x02, 0, 0, CPU_FPU, 0, 0}, - {"vxorpd", xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x57, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vfmaddsubps", fma_128_256_insn, 4, SUF_Z, 0x5C, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0}, - {"vpaddw", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xFD, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vbroadcasti128", vbroadcastif128_insn, 1, SUF_Z, 0x5A, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, - {"vcvttpd2dqy", avx_cvt_xmm128_y_insn, 1, SUF_Z, 0x66, 0xE6, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"mov", mov_insn, 69, SUF_Z, 0, 0, 0, 0, 0, 0, 0}, - {"fmull", farith_insn, 7, SUF_L, 0xC8, 0xC8, 0x01, 0, CPU_FPU, 0, 0}, - {"vpcomfalseub", vpcom_insn, 1, SUF_Z, 0xEC, 0x06, 0, 0, CPU_XOP, 0, 0}, - {"xaddq", cmpxchgxadd_insn, 4, SUF_Q, 0xC0, 0, 0, ONLY_64, CPU_486, 0, 0}, - {"inl", in_insn, 12, SUF_L, 0, 0, 0, 0, CPU_386, 0, 0}, - {"t1mskcl", xop_gpr_reg_rm_09_insn, 2, SUF_L, 0x01, 0x07, 0, 0, CPU_386, CPU_TBM, 0}, - {"nop", onebyte_insn, 1, SUF_Z, 0x90, 0, 0, 0, 0, 0, 0}, - {"rexx", NULL, X86_REX>>8, 0x44, 0, 0, 0, ONLY_64, 0, 0, 0}, - {"vperm2f128", vperm2f128_insn, 1, SUF_Z, 0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"tzcnt", cnt_insn, 3, SUF_Z, 0xBC, 0, 0, 0, CPU_BMI1, 0, 0}, - {"hlt", onebyte_insn, 1, SUF_Z, 0xF4, 0, 0, 0, CPU_Priv, 0, 0}, - {"vcmpeq_uqpd", ssecmp_128_insn, 3, SUF_Z, 0x08, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"sgdt", twobytemem_insn, 1, SUF_Z, 0x00, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0}, - {"cwtl", onebyte_insn, 1, SUF_Z, 0x98, 0x20, 0, 0, CPU_386, 0, 0}, - {"xorl", arith_insn, 22, SUF_L, 0x30, 0x06, 0, 0, CPU_386, 0, 0}, - {"movapd", movau_insn, 6, SUF_Z, 0x66, 0x28, 0x01, 0, CPU_SSE2, 0, 0}, - {"vpmovsxwq", sse4m32_insn, 4, SUF_Z, 0x24, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vfmsubadd231pd", vfma_pd_insn, 2, SUF_Z, 0xB7, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"cvttsd2sil", cvt_rx_xmm64_insn, 4, SUF_L, 0xF2, 0x2C, 0, 0, CPU_SSE2, 0, 0}, - {"cmpunordss", ssecmp_32_insn, 4, SUF_Z, 0x03, 0xF3, 0, 0, CPU_SSE, 0, 0}, - {"vpcomneq", vpcom_insn, 1, SUF_Z, 0xCF, 0x05, 0, 0, CPU_XOP, 0, 0}, - {"ffreep", ffree_insn, 1, SUF_Z, 0xDF, 0, 0, 0, CPU_686, CPU_FPU, CPU_Undoc}, - {"vfnmsub213ss", vfma_ss_insn, 2, SUF_Z, 0xAF, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"outsb", onebyte_insn, 1, SUF_Z, 0x6E, 0x00, 0, 0, 0, 0, 0}, - {"psubsiw", cyrixmmx_insn, 1, SUF_Z, 0x55, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0}, - {"jng", jcc_insn, 9, SUF_Z, 0x0E, 0, 0, 0, 0, 0, 0}, - {"vpcomltd", vpcom_insn, 1, SUF_Z, 0xCE, 0x00, 0, 0, CPU_XOP, 0, 0}, - {"t1mskcq", xop_gpr_reg_rm_09_insn, 2, SUF_Q, 0x01, 0x07, 0, ONLY_64, CPU_TBM, 0, 0}, - {"rdmsr", twobyte_insn, 1, SUF_Z, 0x0F, 0x32, 0, 0, CPU_586, CPU_Priv, 0}, - {"notb", f6_insn, 4, SUF_B, 0x02, 0, 0, 0, 0, 0, 0}, - {"idiv", div_insn, 8, SUF_Z, 0x07, 0, 0, 0, 0, 0, 0}, - {"vpshuflw", xmm_xmm128_imm_256avx2_insn, 2, SUF_Z, 0xF2, 0x70, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"paddd", mmxsse2_insn, 2, SUF_Z, 0xFE, 0, 0, 0, CPU_MMX, 0, 0}, - {"tzcntw", cnt_insn, 3, SUF_W, 0xBC, 0, 0, 0, CPU_BMI1, 0, 0}, - {"pcmpgtd", mmxsse2_insn, 2, SUF_Z, 0x66, 0, 0, 0, CPU_MMX, 0, 0}, - {"stosq", onebyte_insn, 1, SUF_Z, 0xAB, 0x40, 0, ONLY_64, 0, 0, 0}, - {"arplw", arpl_insn, 1, SUF_W, 0, 0, 0, NOT_64, CPU_286, CPU_Prot, 0}, - {"vpermilps", vpermil_insn, 4, SUF_Z, 0x04, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vfnmadd231ps", vfma_ps_insn, 2, SUF_Z, 0xBC, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"xadd", cmpxchgxadd_insn, 4, SUF_Z, 0xC0, 0, 0, 0, CPU_486, 0, 0}, - {"shrdl", shlrd_insn, 9, SUF_L, 0xAC, 0, 0, 0, CPU_386, 0, 0}, - {"fscale", twobyte_insn, 1, SUF_Z, 0xD9, 0xFD, 0, 0, CPU_FPU, 0, 0}, - {"rdpmc", twobyte_insn, 1, SUF_Z, 0x0F, 0x33, 0, 0, CPU_686, 0, 0}, - {"cvtpi2ps", cvt_xmm_mm_ps_insn, 1, SUF_Z, 0x2A, 0, 0, 0, CPU_SSE, 0, 0}, - {"cmovgq", cmovcc_insn, 3, SUF_Q, 0x0F, 0, 0, ONLY_64, CPU_686, 0, 0}, - {"vfnmsubps", fma_128_256_insn, 4, SUF_Z, 0x7C, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0}, - {"seto", setcc_insn, 1, SUF_Z, 0x00, 0, 0, 0, CPU_386, 0, 0}, - {"jnae", jcc_insn, 9, SUF_Z, 0x02, 0, 0, 0, 0, 0, 0}, - {"popcntw", cnt_insn, 3, SUF_W, 0xB8, 0, 0, 0, CPU_SSE42, 0, 0}, - {"vpgatherqd", gather_32x_32y_128_insn, 2, SUF_Z, 0x91, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, - {"salc", onebyte_insn, 1, SUF_Z, 0xD6, 0, 0, NOT_64, CPU_Undoc, 0, 0}, - {"vcmpngesd", ssecmp_64_insn, 4, SUF_Z, 0x09, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vpcomgeud", vpcom_insn, 1, SUF_Z, 0xEE, 0x03, 0, 0, CPU_XOP, 0, 0}, - {"blcicq", xop_gpr_reg_rm_09_insn, 2, SUF_Q, 0x01, 0x05, 0, ONLY_64, CPU_TBM, 0, 0}, - {"pcmpestri", sse4pcmpstr_insn, 1, SUF_Z, 0x61, 0, 0, 0, CPU_SSE42, 0, 0}, - {"sarxq", vex_gpr_reg_rm_nds_0F_insn, 2, SUF_Q, 0xF3, 0x38, 0xF7, ONLY_64|ONLY_AVX, CPU_BMI2, 0, 0}, - {"lddqu", lddqu_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_SSE3, 0, 0}, - {"vpcomtruew", vpcom_insn, 1, SUF_Z, 0xCD, 0x07, 0, 0, CPU_XOP, 0, 0}, - {"fxam", twobyte_insn, 1, SUF_Z, 0xD9, 0xE5, 0, 0, CPU_FPU, 0, 0}, - {"crc32b", crc32_insn, 5, SUF_B, 0, 0, 0, 0, CPU_386, CPU_SSE42, 0}, - {"vpinsrw", pinsrw_insn, 9, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vphsubdq", vphaddsub_insn, 1, SUF_Z, 0xE3, 0, 0, 0, CPU_XOP, 0, 0}, - {"vfmsubaddps", fma_128_256_insn, 4, SUF_Z, 0x5E, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0}, - {"btw", bittest_insn, 6, SUF_W, 0xA3, 0x04, 0, 0, CPU_386, 0, 0}, - {"pi2fw", now3d_insn, 1, SUF_Z, 0x0C, 0, 0, 0, CPU_3DNow, CPU_Athlon, 0}, - {"movhlps", movhllhps_insn, 2, SUF_Z, 0x12, 0, 0, 0, CPU_SSE, 0, 0}, - {"divsd", xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x5E, 0, 0, CPU_SSE2, 0, 0}, - {"vcmpge_oqps", ssecmp_128_insn, 3, SUF_Z, 0x1D, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"rexxyz", NULL, X86_REX>>8, 0x47, 0, 0, 0, ONLY_64, 0, 0, 0}, - {"pf2id", now3d_insn, 1, SUF_Z, 0x1D, 0, 0, 0, CPU_3DNow, 0, 0}, - {"andnps", xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x55, 0, 0, CPU_SSE, 0, 0}, - {"cmovzq", cmovcc_insn, 3, SUF_Q, 0x04, 0, 0, ONLY_64, CPU_686, 0, 0}, - {"cwd", onebyte_insn, 1, SUF_Z, 0x99, 0x10, 0, 0, 0, 0, 0}, - {"blcsl", xop_gpr_reg_rm_09_insn, 2, SUF_L, 0x01, 0x03, 0, 0, CPU_386, CPU_TBM, 0}, - {"maxps", xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x5F, 0, 0, CPU_SSE, 0, 0}, - {"comisd", xmm_xmm64_insn, 4, SUF_Z, 0x66, 0x2F, 0, 0, CPU_SSE2, 0, 0}, - {"vcmpnle_uqps", ssecmp_128_insn, 3, SUF_Z, 0x16, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"cmovnzq", cmovcc_insn, 3, SUF_Q, 0x05, 0, 0, ONLY_64, CPU_686, 0, 0}, - {"ljmpw", ljmpcall_insn, 7, SUF_W, 0x05, 0xEA, 0, 0, 0, 0, 0}, - {"cmpeqps", ssecmp_128_insn, 3, SUF_Z, 0x00, 0, 0, 0, CPU_SSE, 0, 0}, - {"orb", arith_insn, 22, SUF_B, 0x08, 0x01, 0, 0, 0, 0, 0}, - {"fists", fiarith_insn, 2, SUF_S, 0x02, 0xDB, 0, 0, CPU_FPU, 0, 0}, - {"vmaskmovps", vmaskmov_insn, 4, SUF_Z, 0x2C, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"xend", tsx_0x0F_0x01_insn, 1, SUF_Z, 0xD5, 0, 0, 0, CPU_TSX, 0, 0}, - {"fiadd", fiarith_insn, 2, SUF_Z, 0x00, 0xDA, 0, 0, CPU_FPU, 0, 0}, - {"jns", jcc_insn, 9, SUF_Z, 0x09, 0, 0, 0, 0, 0, 0}, - {"vpcomfalseuw", vpcom_insn, 1, SUF_Z, 0xED, 0x06, 0, 0, CPU_XOP, 0, 0}, - {"bsrl", bsfr_insn, 3, SUF_L, 0xBD, 0, 0, 0, CPU_386, 0, 0}, - {"pabsb", ssse3_insn, 5, SUF_Z, 0x1C, 0, 0, 0, CPU_SSSE3, 0, 0}, - {"vcmptruess", ssecmp_32_insn, 4, SUF_Z, 0x0F, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"sal", shift_insn, 16, SUF_Z, 0x04, 0, 0, 0, 0, 0, 0}, - {"movzbl", movszx_insn, 5, SUF_B, 0xB6, 0, 0, 0, CPU_386, 0, 0}, - {"packssdw", mmxsse2_insn, 2, SUF_Z, 0x6B, 0, 0, 0, CPU_MMX, 0, 0}, - {"fcmovbe", fcmovcc_insn, 1, SUF_Z, 0xDA, 0xD0, 0, 0, CPU_686, CPU_FPU, 0}, - {"orq", arith_insn, 22, SUF_Q, 0x08, 0x01, 0, ONLY_64, 0, 0, 0}, - {"blsicq", xop_gpr_reg_rm_09_insn, 2, SUF_Q, 0x01, 0x06, 0, ONLY_64, CPU_TBM, 0, 0}, - {"fiaddl", fiarith_insn, 2, SUF_L, 0x00, 0xDA, 0, 0, CPU_FPU, 0, 0}, - {"fprem", twobyte_insn, 1, SUF_Z, 0xD9, 0xF8, 0, 0, CPU_FPU, 0, 0}, - {"vpcomltw", vpcom_insn, 1, SUF_Z, 0xCD, 0x00, 0, 0, CPU_XOP, 0, 0}, - {"sarl", shift_insn, 16, SUF_L, 0x07, 0, 0, 0, CPU_386, 0, 0}, - {"shr", shift_insn, 16, SUF_Z, 0x05, 0, 0, 0, 0, 0, 0}, - {"pushl", push_insn, 35, SUF_L, 0, 0, 0, 0, CPU_386, 0, 0}, - {"imull", imul_insn, 19, SUF_L, 0, 0, 0, 0, CPU_386, 0, 0}, - {"ftst", twobyte_insn, 1, SUF_Z, 0xD9, 0xE4, 0, 0, CPU_FPU, 0, 0}, - {"vcmpeqps", ssecmp_128_insn, 3, SUF_Z, 0x00, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"lcalll", ljmpcall_insn, 7, SUF_L, 0x03, 0x9A, 0, 0, CPU_386, 0, 0}, - {"lock", NULL, X86_LOCKREP>>8, 0xF0, 0, 0, 0, 0, 0, 0, 0}, - {"cmovnbw", cmovcc_insn, 3, SUF_W, 0x03, 0, 0, 0, CPU_686, 0, 0}, - {"movzxw", movszx_insn, 5, SUF_W, 0xB6, 0, 0, 0, CPU_386, 0, 0}, - {"or", arith_insn, 22, SUF_Z, 0x08, 0x01, 0, 0, 0, 0, 0}, - {"vcmpnle_uqpd", ssecmp_128_insn, 3, SUF_Z, 0x16, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"setl", setcc_insn, 1, SUF_Z, 0x0C, 0, 0, 0, CPU_386, 0, 0}, - {"movntiq", movnti_insn, 2, SUF_Q, 0, 0, 0, ONLY_64, CPU_P4, 0, 0}, - {"lfs", lfgss_insn, 3, SUF_Z, 0xB4, 0, 0, 0, CPU_386, 0, 0}, - {"vroundss", sse4m32imm_insn, 4, SUF_Z, 0x0A, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"setzb", setcc_insn, 1, SUF_B, 0x04, 0, 0, 0, CPU_386, 0, 0}, - {"pcmpistrm", sse4pcmpstr_insn, 1, SUF_Z, 0x62, 0, 0, 0, CPU_SSE42, 0, 0}, - {"je", jcc_insn, 9, SUF_Z, 0x04, 0, 0, 0, 0, 0, 0}, - {"psraw", pshift_insn, 4, SUF_Z, 0xE1, 0x71, 0x04, 0, CPU_MMX, 0, 0}, - {"shlx", vex_gpr_reg_rm_nds_0F_insn, 2, SUF_Z, 0x66, 0x38, 0xF7, ONLY_AVX, CPU_BMI2, 0, 0}, - {"mfence", threebyte_insn, 1, SUF_Z, 0x0F, 0xAE, 0xF0, 0, CPU_P3, 0, 0}, - {"vcvtsd2siq", cvt_rx_xmm64_insn, 4, SUF_Q, 0xF2, 0x2D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vtestps", sse4_insn, 2, SUF_Z, 0x0E, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"verww", prot286_insn, 1, SUF_W, 0x05, 0x00, 0, 0, CPU_286, CPU_Prot, 0}, - {"vfmsubaddpd", fma_128_256_insn, 4, SUF_Z, 0x5F, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0}, - {"fyl2xp1", twobyte_insn, 1, SUF_Z, 0xD9, 0xF9, 0, 0, CPU_FPU, 0, 0}, - {"vunpckhpd", xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x15, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vsubps", xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x5C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"divss", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x5E, 0, 0, CPU_SSE, 0, 0}, - {"blcfilll", xop_gpr_reg_rm_09_insn, 2, SUF_L, 0x01, 0x01, 0, 0, CPU_386, CPU_TBM, 0}, - {"vcmptrue_uspd", ssecmp_128_insn, 3, SUF_Z, 0x1F, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vorpd", xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x56, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"setgeb", setcc_insn, 1, SUF_B, 0x0D, 0, 0, 0, CPU_386, 0, 0}, - {"vmxon", vmxthreebytemem_insn, 1, SUF_Z, 0xF3, 0, 0, 0, CPU_P4, 0, 0}, - {"vpmaskmovd", vmaskmov_insn, 4, SUF_Z, 0x8C, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, - {"vfnmaddpd", fma_128_256_insn, 4, SUF_Z, 0x79, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0}, - {"cmovpl", cmovcc_insn, 3, SUF_L, 0x0A, 0, 0, 0, CPU_686, 0, 0}, - {"pabsw", ssse3_insn, 5, SUF_Z, 0x1D, 0, 0, 0, CPU_SSSE3, 0, 0}, - {"cmovnge", cmovcc_insn, 3, SUF_Z, 0x0C, 0, 0, 0, CPU_686, 0, 0}, - {"aword", NULL, X86_ADDRSIZE>>8, 0x10, 0, 0, 0, 0, 0, 0, 0}, - {"sscaq", onebyte_insn, 1, SUF_Z, 0xAF, 0x40, 0, ONLY_64, 0, 0, 0}, - {"fstenvs", twobytemem_insn, 1, SUF_S, 0x06, 0x9B, 0xD9, 0, CPU_FPU, 0, 0}, - {"vpmovzxbw", sse4m64_insn, 4, SUF_Z, 0x30, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vpsllw", vpshift_insn, 8, SUF_Z, 0xF1, 0x71, 0x06, ONLY_AVX, CPU_AVX, 0, 0}, - {"vpabsw", avx2_ssse3_2op_insn, 2, SUF_Z, 0x1D, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"popf", onebyte_insn, 1, SUF_Z, 0x9D, 0x00, 0x40, 0, 0, 0, 0}, - {"vcmpunord_sss", ssecmp_32_insn, 4, SUF_Z, 0x13, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"bsf", bsfr_insn, 3, SUF_Z, 0xBC, 0, 0, 0, CPU_386, 0, 0}, - {"cmovaw", cmovcc_insn, 3, SUF_W, 0x07, 0, 0, 0, CPU_686, 0, 0}, - {"psrlq", pshift_insn, 4, SUF_Z, 0xD3, 0x73, 0x02, 0, CPU_MMX, 0, 0}, - {"divw", div_insn, 8, SUF_W, 0x06, 0, 0, 0, 0, 0, 0}, - {"cmovnal", cmovcc_insn, 3, SUF_L, 0x06, 0, 0, 0, CPU_686, 0, 0}, - {"vpcmpeqq", ssse3_insn, 5, SUF_Z, 0x29, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"cmovnaq", cmovcc_insn, 3, SUF_Q, 0x06, 0, 0, ONLY_64, CPU_686, 0, 0}, - {"cmove", cmovcc_insn, 3, SUF_Z, 0x04, 0, 0, 0, CPU_686, 0, 0}, - {"popaw", onebyte_insn, 1, SUF_Z, 0x61, 0x10, 0, NOT_64, CPU_186, 0, 0}, - {"invvpidq", eptvpid_insn, 2, SUF_Q, 0x01, 0, 0, ONLY_64, CPU_EPTVPID, 0, 0}, - {"vcvtdq2ps", avx_xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x5B, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vrcpps", avx_xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x53, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"packsswb", mmxsse2_insn, 2, SUF_Z, 0x63, 0, 0, 0, CPU_MMX, 0, 0}, - {"sarw", shift_insn, 16, SUF_W, 0x07, 0, 0, 0, 0, 0, 0}, - {"pfrcpit1", now3d_insn, 1, SUF_Z, 0xA6, 0, 0, 0, CPU_3DNow, 0, 0}, - {"btcl", bittest_insn, 6, SUF_L, 0xBB, 0x07, 0, 0, CPU_386, 0, 0}, - {"rolb", shift_insn, 16, SUF_B, 0x00, 0, 0, 0, 0, 0, 0}, - {"vphadddq", vphaddsub_insn, 1, SUF_Z, 0xCB, 0, 0, 0, CPU_XOP, 0, 0}, - {"vpmaxsw", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xEE, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vpminsw", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xEA, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"jnz", jcc_insn, 9, SUF_Z, 0x05, 0, 0, 0, 0, 0, 0}, - {"vphsubd", ssse3_insn, 5, SUF_Z, 0x06, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vblendvps", avx_sse4xmm0_insn, 2, SUF_Z, 0x4A, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vhaddps", xmm_xmm128_256_insn, 4, SUF_Z, 0xF2, 0x7C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"lidtl", twobytemem_insn, 1, SUF_L, 0x03, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0}, - {"divq", div_insn, 8, SUF_Q, 0x06, 0, 0, ONLY_64, 0, 0, 0}, - {"outb", out_insn, 12, SUF_B, 0, 0, 0, 0, 0, 0, 0}, - {"setnsb", setcc_insn, 1, SUF_B, 0x09, 0, 0, 0, CPU_386, 0, 0}, - {"vcmpfalse_ospd", ssecmp_128_insn, 3, SUF_Z, 0x1B, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"jnb", jcc_insn, 9, SUF_Z, 0x03, 0, 0, 0, 0, 0, 0}, - {"vpmovsxdq", sse4m64_insn, 4, SUF_Z, 0x25, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"adcw", arith_insn, 22, SUF_W, 0x10, 0x02, 0, 0, 0, 0, 0}, - {"cmovbel", cmovcc_insn, 3, SUF_L, 0x06, 0, 0, 0, CPU_686, 0, 0}, - {"cmovaeq", cmovcc_insn, 3, SUF_Q, 0x03, 0, 0, ONLY_64, CPU_686, 0, 0}, - {"fcmovnu", fcmovcc_insn, 1, SUF_Z, 0xDB, 0xD8, 0, 0, CPU_686, CPU_FPU, 0}, - {"idivb", div_insn, 8, SUF_B, 0x07, 0, 0, 0, 0, 0, 0}, - {"sgdtl", twobytemem_insn, 1, SUF_L, 0x00, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0}, - {"jmpl", jmp_insn, 31, SUF_L, 0, 0, 0, 0, CPU_386, 0, 0}, - {"fisttp", fildstp_insn, 4, SUF_Z, 0x01, 0x00, 0x01, 0, CPU_SSE3, 0, 0}, - {"vcmpord_sps", ssecmp_128_insn, 3, SUF_Z, 0x17, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"haddps", xmm_xmm128_insn, 2, SUF_Z, 0xF2, 0x7C, 0, 0, CPU_SSE3, 0, 0}, - {"rolw", shift_insn, 16, SUF_W, 0x00, 0, 0, 0, 0, 0, 0}, - {"vcvtpd2dqy", avx_cvt_xmm128_y_insn, 1, SUF_Z, 0xF2, 0xE6, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"bt", bittest_insn, 6, SUF_Z, 0xA3, 0x04, 0, 0, CPU_386, 0, 0}, - {"vcmpfalsepd", ssecmp_128_insn, 3, SUF_Z, 0x0B, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vcmpleps", ssecmp_128_insn, 3, SUF_Z, 0x02, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vphaddubd", vphaddsub_insn, 1, SUF_Z, 0xD2, 0, 0, 0, CPU_XOP, 0, 0}, - {"vfnmsub132ss", vfma_ss_insn, 2, SUF_Z, 0x9F, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"cmovnow", cmovcc_insn, 3, SUF_W, 0x01, 0, 0, 0, CPU_686, 0, 0}, - {"cvtps2dq", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x5B, 0, 0, CPU_SSE2, 0, 0}, - {"bsrq", bsfr_insn, 3, SUF_Q, 0xBD, 0, 0, ONLY_64, CPU_386, 0, 0}, - {"vcmpord_spd", ssecmp_128_insn, 3, SUF_Z, 0x17, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vpcomd", vpcom_imm_insn, 1, SUF_Z, 0xCE, 0, 0, 0, CPU_XOP, 0, 0}, - {"jnle", jcc_insn, 9, SUF_Z, 0x0F, 0, 0, 0, 0, 0, 0}, - {"vhsubps", xmm_xmm128_256_insn, 4, SUF_Z, 0xF2, 0x7D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"jcxz", jcxz_insn, 2, SUF_Z, 0x10, 0, 0, 0, 0, 0, 0}, - {"fsavel", twobytemem_insn, 1, SUF_L, 0x06, 0x9B, 0xDD, 0, CPU_FPU, 0, 0}, - {"cmovnbq", cmovcc_insn, 3, SUF_Q, 0x03, 0, 0, ONLY_64, CPU_686, 0, 0}, - {"lidtw", twobytemem_insn, 1, SUF_W, 0x03, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0}, - {"vcvtss2si", cvt_rx_xmm32_insn, 4, SUF_Z, 0xF3, 0x2D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"mulw", f6_insn, 4, SUF_W, 0x04, 0, 0, 0, 0, 0, 0}, - {"vbroadcastsd", vbroadcastsd_insn, 2, SUF_Z, 0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"cmovlel", cmovcc_insn, 3, SUF_L, 0x0E, 0, 0, 0, CPU_686, 0, 0}, - {"pmovmskbq", pmovmskb_insn, 6, SUF_Q, 0, 0, 0, ONLY_64, CPU_MMX, CPU_P3, 0}, - {"frstorl", onebytemem_insn, 1, SUF_L, 0x04, 0xDD, 0, 0, CPU_FPU, 0, 0}, - {"cvttss2si", cvt_rx_xmm32_insn, 4, SUF_Z, 0xF3, 0x2C, 0, 0, CPU_386, CPU_SSE, 0}, - {"cmpnltpd", ssecmp_128_insn, 3, SUF_Z, 0x05, 0x66, 0, 0, CPU_SSE, 0, 0}, - {"vpcomgtw", vpcom_insn, 1, SUF_Z, 0xCD, 0x02, 0, 0, CPU_XOP, 0, 0}, - {"xaddl", cmpxchgxadd_insn, 4, SUF_L, 0xC0, 0, 0, 0, CPU_486, 0, 0}, - {"vpmulhw", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xE5, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"lgsq", lfgss_insn, 3, SUF_Q, 0xB5, 0, 0, ONLY_64, CPU_386, 0, 0}, - {"boundl", bound_insn, 2, SUF_L, 0, 0, 0, NOT_64, CPU_386, 0, 0}, - {"vmaxpd", xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x5F, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"movntdqa", movntdqa_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_SSE41, 0, 0}, - {"xstorerng", padlock_insn, 1, SUF_Z, 0xC0, 0x00, 0xA7, 0, CPU_PadLock, 0, 0}, - {"fxsaveq", twobytemem_insn, 1, SUF_Q, 0x00, 0x0F, 0xAE, 0, CPU_686, CPU_FPU, 0}, - {"cmplepd", ssecmp_128_insn, 3, SUF_Z, 0x02, 0x66, 0, 0, CPU_SSE, 0, 0}, - {"vpunpckhwd", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x69, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"fiadds", fiarith_insn, 2, SUF_S, 0x00, 0xDA, 0, 0, CPU_FPU, 0, 0}, - {"bsfq", bsfr_insn, 3, SUF_Q, 0xBC, 0, 0, ONLY_64, CPU_386, 0, 0}, - {"cvtss2si", cvt_rx_xmm32_insn, 4, SUF_Z, 0xF3, 0x2D, 0, 0, CPU_386, CPU_SSE, 0}, - {"pushw", push_insn, 35, SUF_W, 0, 0, 0, 0, 0, 0, 0}, - {"vphaddsw", ssse3_insn, 5, SUF_Z, 0x03, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"prefetcht2", twobytemem_insn, 1, SUF_Z, 0x03, 0x0F, 0x18, 0, CPU_P3, 0, 0}, - {"setnae", setcc_insn, 1, SUF_Z, 0x02, 0, 0, 0, CPU_386, 0, 0}, - {"xor", arith_insn, 22, SUF_Z, 0x30, 0x06, 0, 0, 0, 0, 0}, - {"pshufw", pshufw_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_MMX, CPU_P3, 0}, - {"div", div_insn, 8, SUF_Z, 0x06, 0, 0, 0, 0, 0, 0}, - {"xabort", tsx_xabort_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_TSX, 0, 0}, - {"vmovntdq", movnt_insn, 2, SUF_Z, 0x66, 0xE7, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"das", onebyte_insn, 1, SUF_Z, 0x2F, 0, 0, NOT_64, 0, 0, 0}, - {"notw", f6_insn, 4, SUF_W, 0x02, 0, 0, 0, 0, 0, 0}, - {"monitor", threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xC8, 0, CPU_SSE3, 0, 0}, - {"pmuludq", mmxsse2_insn, 2, SUF_Z, 0xF4, 0, 0, 0, CPU_SSE2, 0, 0}, - {"psignd", ssse3_insn, 5, SUF_Z, 0x0A, 0, 0, 0, CPU_SSSE3, 0, 0}, - {"vpmaxuw", ssse3_insn, 5, SUF_Z, 0x3E, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"rexxy", NULL, X86_REX>>8, 0x46, 0, 0, 0, ONLY_64, 0, 0, 0}, - {"vcmpnlt_uqps", ssecmp_128_insn, 3, SUF_Z, 0x15, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"decq", incdec_insn, 6, SUF_Q, 0x48, 0x01, 0, ONLY_64, 0, 0, 0}, - {"fsub", farith_insn, 7, SUF_Z, 0xE8, 0xE0, 0x04, 0, CPU_FPU, 0, 0}, - {"ficoms", fiarith_insn, 2, SUF_S, 0x02, 0xDA, 0, 0, CPU_FPU, 0, 0}, - {"btrw", bittest_insn, 6, SUF_W, 0xB3, 0x06, 0, 0, CPU_386, 0, 0}, - {"vfnmsub213sd", vfma_sd_insn, 2, SUF_Z, 0xAF, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"setnob", setcc_insn, 1, SUF_B, 0x01, 0, 0, 0, CPU_386, 0, 0}, - {"vpcomgeub", vpcom_insn, 1, SUF_Z, 0xEC, 0x03, 0, 0, CPU_XOP, 0, 0}, - {"cmovz", cmovcc_insn, 3, SUF_Z, 0x04, 0, 0, 0, CPU_686, 0, 0}, - {"vpackuswb", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x67, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"cli", onebyte_insn, 1, SUF_Z, 0xFA, 0, 0, 0, 0, 0, 0}, - {"pinsrd", pinsrd_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_386, CPU_SSE41, 0}, - {"vfmsubadd213pd", vfma_pd_insn, 2, SUF_Z, 0xA7, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"setnab", setcc_insn, 1, SUF_B, 0x06, 0, 0, 0, CPU_386, 0, 0}, - {"larw", larlsl_insn, 6, SUF_W, 0x02, 0, 0, 0, CPU_286, CPU_Prot, 0}, - {"pusha", onebyte_insn, 1, SUF_Z, 0x60, 0x00, 0, NOT_64, CPU_186, 0, 0}, - {"pfadd", now3d_insn, 1, SUF_Z, 0x9E, 0, 0, 0, CPU_3DNow, 0, 0}, - {"bzhil", vex_gpr_reg_rm_nds_0F_insn, 2, SUF_L, 0x00, 0x38, 0xF5, ONLY_AVX, CPU_BMI2, 0, 0}, - {"cmovpoq", cmovcc_insn, 3, SUF_Q, 0x0B, 0, 0, ONLY_64, CPU_686, 0, 0}, - {"blsfill", xop_gpr_reg_rm_09_insn, 2, SUF_Z, 0x01, 0x02, 0, 0, CPU_386, CPU_TBM, 0}, - {"cdq", onebyte_insn, 1, SUF_Z, 0x99, 0x20, 0, 0, CPU_386, 0, 0}, - {"cvtss2siq", cvt_rx_xmm32_insn, 4, SUF_Q, 0xF3, 0x2D, 0, ONLY_64, CPU_SSE, 0, 0}, - {"cmovnb", cmovcc_insn, 3, SUF_Z, 0x03, 0, 0, 0, CPU_686, 0, 0}, - {"vcvttsd2siq", cvt_rx_xmm64_insn, 4, SUF_Q, 0xF2, 0x2C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"setae", setcc_insn, 1, SUF_Z, 0x03, 0, 0, 0, CPU_386, 0, 0}, - {"movntps", movnt_insn, 2, SUF_Z, 0x00, 0x2B, 0, 0, CPU_SSE, 0, 0}, - {"vcmpneq_oqpd", ssecmp_128_insn, 3, SUF_Z, 0x0C, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"lssq", lfgss_insn, 3, SUF_Q, 0xB2, 0, 0, ONLY_64, CPU_386, 0, 0}, - {"jpe", jcc_insn, 9, SUF_Z, 0x0A, 0, 0, 0, 0, 0, 0}, - {"fstcww", fstcw_insn, 1, SUF_W, 0, 0, 0, 0, CPU_FPU, 0, 0}, - {"fnsave", onebytemem_insn, 1, SUF_Z, 0x06, 0xDD, 0, 0, CPU_FPU, 0, 0}, - {"movntsd", movntsd_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SSE4a, 0, 0}, - {"pblendvb", sse4xmm0_insn, 2, SUF_Z, 0x10, 0, 0, 0, CPU_SSE41, 0, 0}, - {"enterw", enter_insn, 3, SUF_W, 0, 0, 0, 0, CPU_186, 0, 0}, - {"larl", larlsl_insn, 6, SUF_L, 0x02, 0, 0, 0, CPU_286, CPU_Prot, 0}, - {"blendvps", sse4xmm0_insn, 2, SUF_Z, 0x14, 0, 0, 0, CPU_SSE41, 0, 0}, - {"pdepl", vex_gpr_reg_nds_rm_0F_insn, 2, SUF_L, 0xF2, 0x38, 0xF5, ONLY_AVX, CPU_BMI2, 0, 0}, - {"jecxz", jcxz_insn, 2, SUF_Z, 0x20, 0, 0, 0, CPU_386, 0, 0}, - {"blcmsk", xop_gpr_reg_rm_09_insn, 2, SUF_Z, 0x02, 0x01, 0, 0, CPU_386, CPU_TBM, 0}, - {"vpshad", amd_vpshift_insn, 2, SUF_Z, 0x9A, 0, 0, 0, CPU_XOP, 0, 0}, - {"smsw", sldtmsw_insn, 6, SUF_Z, 0x04, 0x01, 0, 0, CPU_286, 0, 0}, - {"vcvttps2dq", avx_xmm_xmm128_insn, 2, SUF_Z, 0xF3, 0x5B, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vcvttss2si", cvt_rx_xmm32_insn, 4, SUF_Z, 0xF3, 0x2C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"cmovcw", cmovcc_insn, 3, SUF_W, 0x02, 0, 0, 0, CPU_686, 0, 0}, - {"vpsubsb", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xE8, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"pfsubr", now3d_insn, 1, SUF_Z, 0xAA, 0, 0, 0, CPU_3DNow, 0, 0}, - {"dpps", sse4imm_insn, 2, SUF_Z, 0x40, 0, 0, 0, CPU_SSE41, 0, 0}, - {"pmulhrwc", cyrixmmx_insn, 1, SUF_Z, 0x59, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0}, - {"fdecstp", twobyte_insn, 1, SUF_Z, 0xD9, 0xF6, 0, 0, CPU_FPU, 0, 0}, - {"fld1", twobyte_insn, 1, SUF_Z, 0xD9, 0xE8, 0, 0, CPU_FPU, 0, 0}, - {"lslq", larlsl_insn, 6, SUF_Q, 0x03, 0, 0, ONLY_64, CPU_286, CPU_Prot, 0}, - {"movsldup", xmm_xmm128_insn, 2, SUF_Z, 0xF3, 0x12, 0, 0, CPU_SSE3, 0, 0}, - {"vfnmadd213ps", vfma_ps_insn, 2, SUF_Z, 0xAC, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"vorps", xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x56, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"fxtract", twobyte_insn, 1, SUF_Z, 0xD9, 0xF4, 0, 0, CPU_FPU, 0, 0}, - {"xrstor", twobytemem_insn, 1, SUF_Z, 0x05, 0x0F, 0xAE, 0, CPU_386, CPU_XSAVE, 0}, - {"vfnmadd132pd", vfma_pd_insn, 2, SUF_Z, 0x9C, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"cmovsw", cmovcc_insn, 3, SUF_W, 0x08, 0, 0, 0, CPU_686, 0, 0}, - {"vpcomnew", vpcom_insn, 1, SUF_Z, 0xCD, 0x05, 0, 0, CPU_XOP, 0, 0}, - {"cmovc", cmovcc_insn, 3, SUF_Z, 0x02, 0, 0, 0, CPU_686, 0, 0}, - {"cmpxchg8bq", cmpxchg8b_insn, 1, SUF_Q, 0, 0, 0, 0, CPU_586, 0, 0}, - {"roundss", sse4m32imm_insn, 4, SUF_Z, 0x0A, 0, 0, 0, CPU_SSE41, 0, 0}, - {"vsqrtss", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x51, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"rcrb", shift_insn, 16, SUF_B, 0x03, 0, 0, 0, 0, 0, 0}, - {"vmptrld", vmxtwobytemem_insn, 1, SUF_Z, 0x06, 0, 0, 0, CPU_P4, 0, 0}, - {"popal", onebyte_insn, 1, SUF_Z, 0x61, 0x20, 0, NOT_64, CPU_386, 0, 0}, - {"sysretq", twobyte_insn, 1, SUF_Q, 0x0F, 0x07, 0, 0, CPU_686, CPU_AMD, CPU_Priv}, - {"setle", setcc_insn, 1, SUF_Z, 0x0E, 0, 0, 0, CPU_386, 0, 0}, - {"jnl", jcc_insn, 9, SUF_Z, 0x0D, 0, 0, 0, 0, 0, 0}, - {"ucomisd", xmm_xmm64_insn, 4, SUF_Z, 0x66, 0x2E, 0, 0, CPU_SSE2, 0, 0}, - {"sbbw", arith_insn, 22, SUF_W, 0x18, 0x03, 0, 0, 0, 0, 0}, - {"fbstp", fbldstp_insn, 1, SUF_Z, 0x06, 0, 0, 0, CPU_FPU, 0, 0}, - {"vpcomtrueub", vpcom_insn, 1, SUF_Z, 0xEC, 0x07, 0, 0, CPU_XOP, 0, 0}, - {"paddb", mmxsse2_insn, 2, SUF_Z, 0xFC, 0, 0, 0, CPU_MMX, 0, 0}, - {"cmovnll", cmovcc_insn, 3, SUF_L, 0x0D, 0, 0, 0, CPU_686, 0, 0}, - {"cvtss2sd", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x5A, 0, 0, CPU_SSE2, 0, 0}, - {"vpcmpeqd", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x76, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"cmovnl", cmovcc_insn, 3, SUF_Z, 0x0D, 0, 0, 0, CPU_686, 0, 0}, - {"vpcomltb", vpcom_insn, 1, SUF_Z, 0xCC, 0x00, 0, 0, CPU_XOP, 0, 0}, - {"setngb", setcc_insn, 1, SUF_B, 0x0E, 0, 0, 0, CPU_386, 0, 0}, - {"vphaddudq", vphaddsub_insn, 1, SUF_Z, 0xDB, 0, 0, 0, CPU_XOP, 0, 0}, - {"vpmovsxbd", sse4m32_insn, 4, SUF_Z, 0x21, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"loopzq", loopq_insn, 4, SUF_Z, 0x01, 0x40, 0, ONLY_64, 0, 0, 0}, - {"cmovnle", cmovcc_insn, 3, SUF_Z, 0x0F, 0, 0, 0, CPU_686, 0, 0}, - {"vcmpgepd", ssecmp_128_insn, 3, SUF_Z, 0x0D, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"btcq", bittest_insn, 6, SUF_Q, 0xBB, 0x07, 0, ONLY_64, CPU_386, 0, 0}, - {"rcrl", shift_insn, 16, SUF_L, 0x03, 0, 0, 0, CPU_386, 0, 0}, - {"vmovntdqa", movntdqa_insn, 2, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"cmovcl", cmovcc_insn, 3, SUF_L, 0x02, 0, 0, 0, CPU_686, 0, 0}, - {"vcmpeq_ospd", ssecmp_128_insn, 3, SUF_Z, 0x10, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"f2xm1", twobyte_insn, 1, SUF_Z, 0xD9, 0xF0, 0, 0, CPU_FPU, 0, 0}, - {"vpmacssdd", vpma_insn, 1, SUF_Z, 0x8E, 0, 0, 0, CPU_XOP, 0, 0}, - {"leal", lea_insn, 3, SUF_L, 0, 0, 0, 0, CPU_386, 0, 0}, - {"vpcomeqd", vpcom_insn, 1, SUF_Z, 0xCE, 0x04, 0, 0, CPU_XOP, 0, 0}, - {"ljmpq", ljmpcall_insn, 7, SUF_Q, 0x05, 0xEA, 0, ONLY_64, 0, 0, 0}, - {"vpbroadcastd", vpbroadcastd_avx2_insn, 4, SUF_Z, 0, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, - {"jnp", jcc_insn, 9, SUF_Z, 0x0B, 0, 0, 0, 0, 0, 0}, - {"vpcomgeuq", vpcom_insn, 1, SUF_Z, 0xEF, 0x03, 0, 0, CPU_XOP, 0, 0}, - {"prefetchnta", twobytemem_insn, 1, SUF_Z, 0x00, 0x0F, 0x18, 0, CPU_P3, 0, 0}, - {"bswapl", bswap_insn, 2, SUF_L, 0, 0, 0, 0, CPU_486, 0, 0}, - {"pmovsxbd", sse4m32_insn, 4, SUF_Z, 0x21, 0, 0, 0, CPU_SSE41, 0, 0}, - {"lzcnt", cnt_insn, 3, SUF_Z, 0xBD, 0, 0, 0, CPU_LZCNT, 0, 0}, - {"sha256msg1", intel_SHA256MSG1_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SHA, 0, 0}, - {"cmovnaw", cmovcc_insn, 3, SUF_W, 0x06, 0, 0, 0, CPU_686, 0, 0}, - {"ficom", fiarith_insn, 2, SUF_Z, 0x02, 0xDA, 0, 0, CPU_FPU, 0, 0}, - {"vmovntpd", movnt_insn, 2, SUF_Z, 0x66, 0x2B, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vcmpngess", ssecmp_32_insn, 4, SUF_Z, 0x09, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"fisubr", fiarith_insn, 2, SUF_Z, 0x05, 0xDA, 0, 0, CPU_FPU, 0, 0}, - {"vfmaddsub132ps", vfma_ps_insn, 2, SUF_Z, 0x96, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"vaddsubps", xmm_xmm128_256_insn, 4, SUF_Z, 0xF2, 0xD0, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"vpbroadcastq", vpbroadcastq_avx2_insn, 4, SUF_Z, 0, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, - {"cmovlq", cmovcc_insn, 3, SUF_Q, 0x0C, 0, 0, ONLY_64, CPU_686, 0, 0}, - {"inveptq", eptvpid_insn, 2, SUF_Q, 0x00, 0, 0, ONLY_64, CPU_EPTVPID, 0, 0}, - {"vmulps", xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x59, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"pclmulqdq", pclmulqdq_insn, 2, SUF_Z, 0x3A, 0x44, 0, 0, CPU_AVX, 0, 0}, - {"vfmsub213ps", vfma_ps_insn, 2, SUF_Z, 0xAA, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, - {"phsubd", ssse3_insn, 5, SUF_Z, 0x06, 0, 0, 0, CPU_SSSE3, 0, 0}, - {"fmulp", farithp_insn, 3, SUF_Z, 0xC8, 0, 0, 0, CPU_FPU, 0, 0}, - {"lcallw", ljmpcall_insn, 7, SUF_W, 0x03, 0x9A, 0, 0, 0, 0, 0}, - {"fisub", fiarith_insn, 2, SUF_Z, 0x04, 0xDA, 0, 0, CPU_FPU, 0, 0}, - {"vpackusdw", ssse3_insn, 5, SUF_Z, 0x2B, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, - {"smintold", twobyte_insn, 1, SUF_Z, 0x0F, 0x7E, 0, 0, CPU_486, CPU_Cyrix, CPU_Obs}, - {"vpgatherqq", gather_64x_64y_insn, 2, SUF_Z, 0x91, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, - {"vcmpneq_uspd", ssecmp_128_insn, 3, SUF_Z, 0x14, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, - {"blsiq", vex_gpr_ndd_rm_0F38_regext_insn, 2, SUF_Q, 0x00, 0xF3, 0x03, ONLY_64|ONLY_AVX, CPU_BMI1, 0, 0}, - {"ltr", prot286_insn, 1, SUF_Z, 0x03, 0x00, 0, 0, CPU_286, CPU_Priv, CPU_Prot}, - {"fild", fildstp_insn, 4, SUF_Z, 0x00, 0x02, 0x05, 0, CPU_FPU, 0, 0}, - {"fldenvs", onebytemem_insn, 1, SUF_S, 0x04, 0xD9, 0, 0, CPU_FPU, 0, 0}, - {"vmovdqa", movau_insn, 6, SUF_Z, 0x66, 0x6F, 0x10, ONLY_AVX, CPU_AVX, 0, 0}, - {"shrxq", vex_gpr_reg_rm_nds_0F_insn, 2, SUF_Q, 0xF2, 0x38, 0xF7, ONLY_64|ONLY_AVX, CPU_BMI2, 0, 0}, - {"fcmove", fcmovcc_insn, 1, SUF_Z, 0xDA, 0xC8, 0, 0, CPU_686, CPU_FPU, 0}, - {"shrl", shift_insn, 16, SUF_L, 0x05, 0, 0, 0, CPU_386, 0, 0}, - {"rclq", shift_insn, 16, SUF_Q, 0x02, 0, 0, ONLY_64, 0, 0, 0}, - {"fnsavel", onebytemem_insn, 1, SUF_L, 0x06, 0xDD, 0, 0, CPU_FPU, 0, 0}, - {"vgatherdpd", gather_64x_64x_insn, 2, SUF_Z, 0x92, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, - {"pushaw", onebyte_insn, 1, SUF_Z, 0x60, 0x10, 0, NOT_64, CPU_186, 0, 0} - }; - static const unsigned short tab[] = { - 555,1559,555,108,108,1495,0,108,0,0,2332,555,1208,0,108,1317, - 1317,1732,0,0,1495,555,463,517,1636,1317,988,0,1317,0,555,555, - 1929,108,1325,0,274,555,1633,1633,555,555,1325,555,2040,274,1325,1383, - 555,1383,0,555,1317,988,1732,555,274,1636,1633,1602,1325,1383,0,0, - 1325,1929,2332,1514,1383,108,0,0,1383,0,0,988,1317,274,1325,1633, - 1325,517,1383,0,0,1633,108,274,1325,555,108,0,939,0,1636,274, - 0,1995,274,1929,1383,0,0,1317,1929,555,0,0,0,555,0,0, - 0,0,0,1514,1383,1633,1325,0,1633,0,1325,274,0,274,1317,0, - 1602,1317,0,2260,555,1633,1633,0,555,1325,0,1732,1325,988,1325,0, - 1383,1495,1636,555,901,274,1495,555,1208,1912,1602,1325,1633,0,1325,2403, - 108,1383,1317,108,0,0,517,0,673,0,0,0,1495,1325,1208,0, - 555,1317,1317,2332,1325,0,1514,555,555,555,1732,1602,0,0,274,0, - 517,939,0,2242,1633,0,1633,555,0,1732,555,517,2040,1633,1633,0, - 1602,0,1317,274,1383,0,1633,517,0,673,1995,1732,1912,1636,1602,1732, - 673,0,1732,108,1325,555,555,1633,1317,0,1732,555,555,555,939,0, - 517,1602,0,0,1929,555,901,0,108,108,1325,517,108,1325,1317,0, - 1325,0,1208,0,0,0,108,274,555,0,1383,1325,555,1325,1633,0, - 1383,1602,1383,0,0,517,274,0,591,0,1455,555,555,1317,1325,555, - 555,1317,0,108,555,0,0,108,1633,555,1602,0,1732,555,0,108, - 0,1636,1633,1633,517,555,555,0,274,1317,0,1912,1325,1208,1325,555, - 1383,1633,108,1317,0,1325,1495,1929,1633,673,1633,463,1317,0,0,517, - 0,1317,1929,0,455,1633,0,0,1602,1929,0,1929,2332,1317,555,238, - 0,274,517,1325,1317,0,274,0,555,1317,555,555,0,1192,1325,463, - 555,939,1633,0,0,0,1929,1325,1359,555,1317,1317,274,1732,555,0, - 555,1929,0,1325,448,0,1636,555,988,1208,108,274,555,1325,1317,555, - 1929,1929,1317,1325,108,902,555,0,555,988,1325,901,1325,1317,1732,1101, - 1208,1633,1732,108,1317,1317,108,555,1929,555,1995,1317,1929,1383,517,0, - 0,1633,1602,1912,1929,274,2464,0,555,1929,1317,0,0,555,1317,2180, - 1327,0,517,555,1633,1732,1636,1602,517,1208,555,555,1383,1317,1633,0, - 988,1192,0,0,1495,673,673,0,555,1495,1325,517,1732,1633,555,1325, - 108,1929,1732,1325,988,555,1325,1208,1929,274,0,673,555,1732,1633,134, - 108,1929,673,1208,555,1208,0,0,2464,0,1633,1929,0,913,673,0, - 108,1317,1383,1633,0,555,0,0,1995,1317,0,2040,1317,1633,2332,108, - 1633,1495,555,0,0,2040,926,673,1929,1325,1732,1929,1342,1633,1636,517, - 0,0,517,182,1359,108,274,2040,108,108,0,0,555,988,517,1633, - 1633,1325,1929,673,1633,1912,1288,555,1732,1325,0,1325,517,1325,1325,555, - 0,0,2055,108,0,1732,517,274,901,1359,1929,1417,1636,926,555,0, - 2040,0,1633,591,1929,1325,274,926,1325,517,0,765,108,0,2040,1383, - 1514,901,1809,666,1732,1732,555,1732,555,0,0,1912,555,555,555,1929, - 1317,0,517,673,555,274,673,2398,1208,555,1853,1633,1325,555,0,555, - 0,1383,1325,1317,1929,108,2037,1383,108,1728,673,555,1835,591,1732,1995, - 0,0,939,555,666,1325,1011,555,0,1929,108,1602,2332,0,1325,1633, - 1732,1602,555,429,2040,1633,0,555,2040,1633,0,0,1325,1929,0,1912, - 2040,1011,0,1732,517,1732,0,0,1633,1325,555,108,517,469,1636,108, - 1011,0,0,0,1912,926,1929,988,1636,1633,274,182,1317,108,1325,0, - 555,988,0,0,0,1771,1633,939,1732,1995,0,858,0,555,1633,0, - 939,0,555,108,555,1633,1995,555,2510,0,516,939,1208,1912,858,1205, - 0,785,0,988,1495,274,1011,902,0,0,184,0,1514,108,0,0, - 1732,1633,469,1005,455,555,0,0,1455,428,1929,0,926,1633,1317,555, - 939,0,1317,939,0,1327,1929,0,1668,1732,555,0,1929,1633,1929,555, - 0,0,0,555,1607,1011,1325,1495,400,1011,1924,1383,901,469,1929,1835, - 2040,1602,227,1342,1325,1192,0,1728,2040,1343,517,227,1929,1591,1912,429, - 988,1559,1929,1325,0,1732,1317,0,902,0,555,0,1912,988,1633,1547, - 200,1618,1636,926,0,1636,274,999,274,1809,1929,673,902,555,1624,591, - 1636,591,0,517,555,1383,1633,0,1809,1679,0,673,1011,555,0,108, - 1929,1495,1111,0,988,0,108,0,1995,2403,238,514,0,1995,1317,0, - 1343,517,913,673,988,1614,1912,1325,673,816,1212,1325,1732,1929,1835,1602, - 0,1636,108,455,1912,555,0,816,555,274,1633,0,1325,0,1929,1111, - 634,1636,555,1636,1559,0,1636,0,1514,2040,657,1034,1771,1853,258,1633, - 901,555,1208,1912,1959,816,440,0,1807,1924,1514,316,182,1732,1383,1618, - 988,1591,1559,274,274,0,858,0,1383,1929,1602,1633,1514,1005,1617,0, - 2060,517,1715,988,1542,1732,820,1633,1011,1383,1851,0,1650,1633,108,1912, - 1995,916,1636,1995,1208,0,0,1325,274,1645,108,0,0,0,0,440, - 1670,2060,676,1602,1942,1420,1317,939,729,274,0,0,1965,274,975,238, - }; - - const struct insnprefix_parse_data *ret; - unsigned long rsl, val = phash_lookup(key, len, 0xbc1b868fUL); - rsl = ((val>>23)^tab[val&0x3ff]); - if (rsl >= 2070) return NULL; - ret = &pd[rsl]; - if (strcmp(key, ret->name) != 0) return NULL; - return ret; -} - - +/* ANSI-C code produced by genperf */ +struct insnprefix_parse_data; +static const struct insnprefix_parse_data * +insnprefix_gas_find(const char *key, size_t len) +{ + static const struct insnprefix_parse_data pd[2070] = { + {"vpunpckhqdq", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x6D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"psrad", pshift_insn, 4, SUF_Z, 0xE2, 0x72, 0x04, 0, CPU_MMX, 0, 0}, + {"rsldt", cyrixsmm_insn, 1, SUF_Z, 0x7B, 0, 0, 0, CPU_486, CPU_Cyrix, CPU_SMM}, + {"ldmxcsr", ldstmxcsr_insn, 1, SUF_Z, 0x02, 0, 0, 0, CPU_SSE, 0, 0}, + {"idivl", div_insn, 8, SUF_L, 0x07, 0, 0, 0, CPU_386, 0, 0}, + {"vhaddpd", xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x7C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"aqword", NULL, X86_ADDRSIZE>>8, 0x40, 0, 0, 0, ONLY_64, 0, 0, 0}, + {"vcmpeq_uqsd", ssecmp_64_insn, 4, SUF_Z, 0x08, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"subl", arith_insn, 22, SUF_L, 0x28, 0x05, 0, 0, CPU_386, 0, 0}, + {"vcmple_oqsd", ssecmp_64_insn, 4, SUF_Z, 0x12, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"shrdw", shlrd_insn, 9, SUF_W, 0xAC, 0, 0, 0, CPU_386, 0, 0}, + {"xchgb", xchg_insn, 16, SUF_B, 0, 0, 0, 0, 0, 0, 0}, + {"dec", incdec_insn, 6, SUF_Z, 0x48, 0x01, 0, 0, 0, 0, 0}, + {"finit", threebyte_insn, 1, SUF_Z, 0x9B, 0xDB, 0xE3, 0, CPU_FPU, 0, 0}, + {"iret", onebyte_insn, 1, SUF_Z, 0xCF, 0, 0, 0, 0, 0, 0}, + {"mul", f6_insn, 4, SUF_Z, 0x04, 0, 0, 0, 0, 0, 0}, + {"vcvtdq2pd", avx_cvt_xmm64_insn, 3, SUF_Z, 0xF3, 0xE6, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"lzcntl", cnt_insn, 3, SUF_L, 0xBD, 0, 0, 0, CPU_LZCNT, 0, 0}, + {"vucomiss", avx_xmm_xmm32_insn, 2, SUF_Z, 0x00, 0x2E, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vblendpd", sse4imm_256_insn, 4, SUF_Z, 0x0D, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"sscal", onebyte_insn, 1, SUF_Z, 0xAF, 0x20, 0, 0, CPU_386, 0, 0}, + {"vcmpnlt_uqpd", ssecmp_128_insn, 3, SUF_Z, 0x15, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"setpob", setcc_insn, 1, SUF_B, 0x0B, 0, 0, 0, CPU_386, 0, 0}, + {"andn", vex_gpr_reg_nds_rm_0F_insn, 2, SUF_Z, 0x00, 0x38, 0xF2, ONLY_AVX, CPU_BMI1, 0, 0}, + {"scasq", onebyte_insn, 1, SUF_Z, 0xAF, 0x40, 0, ONLY_64, 0, 0, 0}, + {"xorw", arith_insn, 22, SUF_W, 0x30, 0x06, 0, 0, 0, 0, 0}, + {"vprotw", vprot_insn, 3, SUF_Z, 0x01, 0, 0, 0, CPU_XOP, 0, 0}, + {"vfmsub231sd", vfma_sd_insn, 2, SUF_Z, 0xBB, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"vpmovmskbq", pmovmskb_insn, 6, SUF_Q, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"data32", NULL, X86_OPERSIZE>>8, 0x20, 0, 0, 0, 0, 0, 0, 0}, + {"movntdq", movnt_insn, 2, SUF_Z, 0x66, 0xE7, 0, 0, CPU_SSE2, 0, 0}, + {"vandps", xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x54, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"fidivrs", fiarith_insn, 2, SUF_S, 0x07, 0xDA, 0, 0, CPU_FPU, 0, 0}, + {"vcmpfalse_osss", ssecmp_32_insn, 4, SUF_Z, 0x1B, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vcmpneqpd", ssecmp_128_insn, 3, SUF_Z, 0x04, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vcmpneq_oqsd", ssecmp_64_insn, 4, SUF_Z, 0x0C, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vpcomnequb", vpcom_insn, 1, SUF_Z, 0xEC, 0x05, 0, 0, CPU_XOP, 0, 0}, + {"vfnmadd213sd", vfma_sd_insn, 2, SUF_Z, 0xAD, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"cmplesd", ssecmp_64_insn, 4, SUF_Z, 0x02, 0xF2, 0, 0, CPU_SSE2, 0, 0}, + {"vpshaq", amd_vpshift_insn, 2, SUF_Z, 0x9B, 0, 0, 0, CPU_XOP, 0, 0}, + {"iretw", onebyte_insn, 1, SUF_Z, 0xCF, 0x10, 0, 0, 0, 0, 0}, + {"vpcomltub", vpcom_insn, 1, SUF_Z, 0xEC, 0x00, 0, 0, CPU_XOP, 0, 0}, + {"vmovupd", movau_insn, 6, SUF_Z, 0x66, 0x10, 0x01, ONLY_AVX, CPU_AVX, 0, 0}, + {"fabs", twobyte_insn, 1, SUF_Z, 0xD9, 0xE1, 0, 0, CPU_FPU, 0, 0}, + {"lgdtq", twobytemem_insn, 1, SUF_Q, 0x02, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0}, + {"vcmpgeps", ssecmp_128_insn, 3, SUF_Z, 0x0D, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"popfw", onebyte_insn, 1, SUF_Z, 0x9D, 0x10, 0x40, 0, 0, 0, 0}, + {"vpmovsxwd", sse4m64_insn, 4, SUF_Z, 0x23, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vpsravd", vpshiftv_vexw0_avx2_insn, 2, SUF_Z, 0x46, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, + {"vpmadcswd", vpma_insn, 1, SUF_Z, 0xB6, 0, 0, 0, CPU_XOP, 0, 0}, + {"vpmovsxbq", sse4m16_insn, 4, SUF_Z, 0x22, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vpcomleud", vpcom_insn, 1, SUF_Z, 0xEE, 0x01, 0, 0, CPU_XOP, 0, 0}, + {"phsubw", ssse3_insn, 5, SUF_Z, 0x05, 0, 0, 0, CPU_SSSE3, 0, 0}, + {"call", call_insn, 30, SUF_Z, 0, 0, 0, 0, 0, 0, 0}, + {"cmovpe", cmovcc_insn, 3, SUF_Z, 0x0A, 0, 0, 0, CPU_686, 0, 0}, + {"vpcomneqq", vpcom_insn, 1, SUF_Z, 0xCF, 0x05, 0, 0, CPU_XOP, 0, 0}, + {"fcomp", fcom_insn, 6, SUF_Z, 0xD8, 0x03, 0, 0, CPU_FPU, 0, 0}, + {"vdpps", sse4imm_256_insn, 4, SUF_Z, 0x40, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"pmovsxdq", sse4m64_insn, 4, SUF_Z, 0x25, 0, 0, 0, CPU_SSE41, 0, 0}, + {"rcll", shift_insn, 16, SUF_L, 0x02, 0, 0, 0, CPU_386, 0, 0}, + {"xorps", xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x57, 0, 0, CPU_SSE, 0, 0}, + {"cmovaq", cmovcc_insn, 3, SUF_Q, 0x07, 0, 0, ONLY_64, CPU_686, 0, 0}, + {"int3", onebyte_insn, 1, SUF_Z, 0xCC, 0, 0, 0, 0, 0, 0}, + {"fsubrp", farithp_insn, 3, SUF_Z, 0xE8, 0, 0, 0, CPU_FPU, 0, 0}, + {"pdepq", vex_gpr_reg_nds_rm_0F_insn, 2, SUF_Q, 0xF2, 0x38, 0xF5, ONLY_64|ONLY_AVX, CPU_BMI2, 0, 0}, + {"vfmadd132pd", vfma_pd_insn, 2, SUF_Z, 0x98, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"bts", bittest_insn, 6, SUF_Z, 0xAB, 0x05, 0, 0, CPU_386, 0, 0}, + {"jnge", jcc_insn, 9, SUF_Z, 0x0C, 0, 0, 0, 0, 0, 0}, + {"movbe", movbe_insn, 6, SUF_Z, 0, 0, 0, 0, CPU_MOVBE, 0, 0}, + {"rsdc", rsdc_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_486, CPU_Cyrix, CPU_SMM}, + {"psubusb", mmxsse2_insn, 2, SUF_Z, 0xD8, 0, 0, 0, CPU_MMX, 0, 0}, + {"pmaxsb", sse4_insn, 2, SUF_Z, 0x3C, 0, 0, 0, CPU_SSE41, 0, 0}, + {"ffree", ffree_insn, 1, SUF_Z, 0xDD, 0, 0, 0, CPU_FPU, 0, 0}, + {"fsubrl", farith_insn, 7, SUF_L, 0xE0, 0xE8, 0x05, 0, CPU_FPU, 0, 0}, + {"pminsb", sse4_insn, 2, SUF_Z, 0x38, 0, 0, 0, CPU_SSE41, 0, 0}, + {"vcmpltsd", ssecmp_64_insn, 4, SUF_Z, 0x01, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vcvtsd2ss", xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x5A, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"verr", prot286_insn, 1, SUF_Z, 0x04, 0x00, 0, 0, CPU_286, CPU_Prot, 0}, + {"pcmpgtb", mmxsse2_insn, 2, SUF_Z, 0x64, 0, 0, 0, CPU_MMX, 0, 0}, + {"lcall", ljmpcall_insn, 7, SUF_Z, 0x03, 0x9A, 0, 0, 0, 0, 0}, + {"vcmpngt_uqss", ssecmp_32_insn, 4, SUF_Z, 0x1A, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"pmulhuw", mmxsse2_insn, 2, SUF_Z, 0xE4, 0, 0, 0, CPU_MMX, CPU_P3, 0}, + {"vcmpeq_ossd", ssecmp_64_insn, 4, SUF_Z, 0x10, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vmaxsd", xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x5F, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vpclmulhqlqdq", pclmulqdq_fixed_insn, 2, SUF_Z, 0x01, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vcmpunord_sps", ssecmp_128_insn, 3, SUF_Z, 0x13, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"data64", NULL, X86_OPERSIZE>>8, 0x40, 0, 0, 0, ONLY_64, 0, 0, 0}, + {"fimul", fiarith_insn, 2, SUF_Z, 0x01, 0xDA, 0, 0, CPU_FPU, 0, 0}, + {"tzcntq", cnt_insn, 3, SUF_Q, 0xBC, 0, 0, ONLY_64, CPU_BMI1, 0, 0}, + {"cmovgel", cmovcc_insn, 3, SUF_L, 0x0D, 0, 0, 0, CPU_686, 0, 0}, + {"cmovbw", cmovcc_insn, 3, SUF_W, 0x02, 0, 0, 0, CPU_686, 0, 0}, + {"vcmpordss", ssecmp_32_insn, 4, SUF_Z, 0x07, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"blendpd", sse4imm_insn, 2, SUF_Z, 0x0D, 0, 0, 0, CPU_SSE41, 0, 0}, + {"seta", setcc_insn, 1, SUF_Z, 0x07, 0, 0, 0, CPU_386, 0, 0}, + {"vfnmaddss", fma_128_m32_insn, 3, SUF_Z, 0x7A, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0}, + {"blsfilll", xop_gpr_reg_rm_09_insn, 2, SUF_L, 0x01, 0x02, 0, 0, CPU_386, CPU_TBM, 0}, + {"incw", incdec_insn, 6, SUF_W, 0x40, 0x00, 0, 0, 0, 0, 0}, + {"blsmsk", vex_gpr_ndd_rm_0F38_regext_insn, 2, SUF_Z, 0x00, 0xF3, 0x02, ONLY_AVX, CPU_BMI1, 0, 0}, + {"testq", test_insn, 20, SUF_Q, 0, 0, 0, ONLY_64, 0, 0, 0}, + {"pushfq", onebyte_insn, 1, SUF_Z, 0x9C, 0x40, 0x40, ONLY_64, 0, 0, 0}, + {"jbe", jcc_insn, 9, SUF_Z, 0x06, 0, 0, 0, 0, 0, 0}, + {"vpcomuw", vpcom_imm_insn, 1, SUF_Z, 0xED, 0, 0, 0, CPU_XOP, 0, 0}, + {"vcomisd", avx_xmm_xmm64_insn, 2, SUF_Z, 0x66, 0x2F, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vcmpneq_osps", ssecmp_128_insn, 3, SUF_Z, 0x1C, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vcmpneq_usps", ssecmp_128_insn, 3, SUF_Z, 0x14, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"pswapd", now3d_insn, 1, SUF_Z, 0xBB, 0, 0, 0, CPU_3DNow, CPU_Athlon, 0}, + {"blciq", xop_gpr_reg_rm_09_insn, 2, SUF_Q, 0x02, 0x06, 0, ONLY_64, CPU_TBM, 0, 0}, + {"skinit", skinit_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_SVM, 0, 0}, + {"sqrtsd", xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x51, 0, 0, CPU_SSE2, 0, 0}, + {"frndint", twobyte_insn, 1, SUF_Z, 0xD9, 0xFC, 0, 0, CPU_FPU, 0, 0}, + {"vpxor", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xEF, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"movmskpdl", movmsk_insn, 4, SUF_L, 0x66, 0, 0, 0, CPU_SSE2, 0, 0}, + {"cmpltss", ssecmp_32_insn, 4, SUF_Z, 0x01, 0xF3, 0, 0, CPU_SSE, 0, 0}, + {"loop", loop_insn, 8, SUF_Z, 0x02, 0, 0, 0, 0, 0, 0}, + {"vphsubwd", vphaddsub_insn, 1, SUF_Z, 0xE2, 0, 0, 0, CPU_XOP, 0, 0}, + {"vpcomltuq", vpcom_insn, 1, SUF_Z, 0xEF, 0x00, 0, 0, CPU_XOP, 0, 0}, + {"psubq", mmxsse2_insn, 2, SUF_Z, 0xFB, 0, 0, 0, CPU_MMX, 0, 0}, + {"cmovcq", cmovcc_insn, 3, SUF_Q, 0x02, 0, 0, ONLY_64, CPU_686, 0, 0}, + {"vpsrlw", vpshift_insn, 8, SUF_Z, 0xD1, 0x71, 0x02, ONLY_AVX, CPU_AVX, 0, 0}, + {"setleb", setcc_insn, 1, SUF_B, 0x0E, 0, 0, 0, CPU_386, 0, 0}, + {"vcmpnltps", ssecmp_128_insn, 3, SUF_Z, 0x05, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"cvtps2pi", cvt_mm_xmm64_insn, 2, SUF_Z, 0x2D, 0, 0, 0, CPU_SSE, 0, 0}, + {"lgdtw", twobytemem_insn, 1, SUF_W, 0x02, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0}, + {"vpcomq", vpcom_imm_insn, 1, SUF_Z, 0xCF, 0, 0, 0, CPU_XOP, 0, 0}, + {"jna", jcc_insn, 9, SUF_Z, 0x06, 0, 0, 0, 0, 0, 0}, + {"vpsubusb", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xD8, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vcmpgt_oqss", ssecmp_32_insn, 4, SUF_Z, 0x1E, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vfmsub231ps", vfma_ps_insn, 2, SUF_Z, 0xBA, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"vfnmsubpd", fma_128_256_insn, 4, SUF_Z, 0x7D, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0}, + {"vmsave", svm_rax_insn, 2, SUF_Z, 0xDB, 0, 0, 0, CPU_SVM, 0, 0}, + {"aesdec", aes_insn, 2, SUF_Z, 0x38, 0xDE, 0, 0, CPU_AVX, 0, 0}, + {"vcvtpd2ps", avx_cvt_xmm128_insn, 2, SUF_Z, 0x66, 0x5A, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vphaddwq", vphaddsub_insn, 1, SUF_Z, 0xC7, 0, 0, 0, CPU_XOP, 0, 0}, + {"cmovpo", cmovcc_insn, 3, SUF_Z, 0x0B, 0, 0, 0, CPU_686, 0, 0}, + {"pmulld", sse4_insn, 2, SUF_Z, 0x40, 0, 0, 0, CPU_SSE41, 0, 0}, + {"cbtw", onebyte_insn, 1, SUF_Z, 0x98, 0x10, 0, 0, 0, 0, 0}, + {"loadall286", twobyte_insn, 1, SUF_Z, 0x0F, 0x05, 0, 0, CPU_286, CPU_Undoc, 0}, + {"rexy", NULL, X86_REX>>8, 0x42, 0, 0, 0, ONLY_64, 0, 0, 0}, + {"lgsw", lfgss_insn, 3, SUF_W, 0xB5, 0, 0, 0, CPU_386, 0, 0}, + {"vcmpngeps", ssecmp_128_insn, 3, SUF_Z, 0x09, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"btc", bittest_insn, 6, SUF_Z, 0xBB, 0x07, 0, 0, CPU_386, 0, 0}, + {"vcmpeq_uqss", ssecmp_32_insn, 4, SUF_Z, 0x08, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"invept", eptvpid_insn, 2, SUF_Z, 0x00, 0, 0, 0, CPU_386, CPU_EPTVPID, 0}, + {"vfmaddsub231pd", vfma_pd_insn, 2, SUF_Z, 0xB6, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"strl", str_insn, 4, SUF_L, 0, 0, 0, 0, CPU_386, CPU_Prot, 0}, + {"shlxl", vex_gpr_reg_rm_nds_0F_insn, 2, SUF_L, 0x66, 0x38, 0xF7, ONLY_AVX, CPU_BMI2, 0, 0}, + {"loopq", loopq_insn, 4, SUF_Z, 0x02, 0x40, 0, ONLY_64, 0, 0, 0}, + {"pmvzb", cyrixmmx_insn, 1, SUF_Z, 0x58, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0}, + {"vshufpd", xmm_xmm128_imm_256_insn, 3, SUF_Z, 0x66, 0xC6, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vpsubq", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xFB, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"fnstsw", fnstsw_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_FPU, 0, 0}, + {"incl", incdec_insn, 6, SUF_L, 0x40, 0x00, 0, 0, CPU_386, 0, 0}, + {"fnop", twobyte_insn, 1, SUF_Z, 0xD9, 0xD0, 0, 0, CPU_FPU, 0, 0}, + {"punpckhdq", mmxsse2_insn, 2, SUF_Z, 0x6A, 0, 0, 0, CPU_MMX, 0, 0}, + {"vphadduwd", vphaddsub_insn, 1, SUF_Z, 0xD6, 0, 0, 0, CPU_XOP, 0, 0}, + {"vmovaps", movau_insn, 6, SUF_Z, 0x00, 0x28, 0x01, ONLY_AVX, CPU_AVX, 0, 0}, + {"vpsllq", vpshift_insn, 8, SUF_Z, 0xF3, 0x73, 0x06, ONLY_AVX, CPU_AVX, 0, 0}, + {"pfmul", now3d_insn, 1, SUF_Z, 0xB4, 0, 0, 0, CPU_3DNow, 0, 0}, + {"vcmpfalsess", ssecmp_32_insn, 4, SUF_Z, 0x0B, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vcmptrue_ussd", ssecmp_64_insn, 4, SUF_Z, 0x1F, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vcmple_oqps", ssecmp_128_insn, 3, SUF_Z, 0x12, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vpinsrwq", pinsrw_insn, 9, SUF_Q, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vpminub", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xDA, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"blcfillq", xop_gpr_reg_rm_09_insn, 2, SUF_Q, 0x01, 0x01, 0, ONLY_64, CPU_TBM, 0, 0}, + {"incq", incdec_insn, 6, SUF_Q, 0x40, 0x00, 0, ONLY_64, 0, 0, 0}, + {"pdep", vex_gpr_reg_nds_rm_0F_insn, 2, SUF_Z, 0xF2, 0x38, 0xF5, ONLY_AVX, CPU_BMI2, 0, 0}, + {"cmovnc", cmovcc_insn, 3, SUF_Z, 0x03, 0, 0, 0, CPU_686, 0, 0}, + {"movntil", movnti_insn, 2, SUF_L, 0, 0, 0, 0, CPU_P4, 0, 0}, + {"cmoveq", cmovcc_insn, 3, SUF_Q, 0x04, 0, 0, ONLY_64, CPU_686, 0, 0}, + {"pfrcpit2", now3d_insn, 1, SUF_Z, 0xB6, 0, 0, 0, CPU_3DNow, 0, 0}, + {"cmovaew", cmovcc_insn, 3, SUF_W, 0x03, 0, 0, 0, CPU_686, 0, 0}, + {"vinserti128", vinsertif128_insn, 1, SUF_Z, 0x38, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, + {"movmskpdq", movmsk_insn, 4, SUF_Q, 0x66, 0, 0, ONLY_64, CPU_SSE2, 0, 0}, + {"vpmaxud", ssse3_insn, 5, SUF_Z, 0x3F, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"xaddw", cmpxchgxadd_insn, 4, SUF_W, 0xC0, 0, 0, 0, CPU_486, 0, 0}, + {"psubb", mmxsse2_insn, 2, SUF_Z, 0xF8, 0, 0, 0, CPU_MMX, 0, 0}, + {"vminpd", xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x5D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"mulpd", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x59, 0, 0, CPU_SSE2, 0, 0}, + {"fisttpl", fildstp_insn, 4, SUF_L, 0x01, 0x00, 0x01, 0, CPU_SSE3, 0, 0}, + {"vcmpordps", ssecmp_128_insn, 3, SUF_Z, 0x07, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"lgs", lfgss_insn, 3, SUF_Z, 0xB5, 0, 0, 0, CPU_386, 0, 0}, + {"lzcntq", cnt_insn, 3, SUF_Q, 0xBD, 0, 0, ONLY_64, CPU_LZCNT, 0, 0}, + {"frstor", onebytemem_insn, 1, SUF_Z, 0x04, 0xDD, 0, 0, CPU_FPU, 0, 0}, + {"vcmpge_oqpd", ssecmp_128_insn, 3, SUF_Z, 0x1D, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"setnbb", setcc_insn, 1, SUF_B, 0x03, 0, 0, 0, CPU_386, 0, 0}, + {"fcmovnbe", fcmovcc_insn, 1, SUF_Z, 0xDB, 0xD0, 0, 0, CPU_686, CPU_FPU, 0}, + {"pminub", mmxsse2_insn, 2, SUF_Z, 0xDA, 0, 0, 0, CPU_MMX, CPU_P3, 0}, + {"vcvttpd2dqx", avx_cvt_xmm128_x_insn, 1, SUF_Z, 0x66, 0xE6, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vfmaddsub231ps", vfma_ps_insn, 2, SUF_Z, 0xB6, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"data16", NULL, X86_OPERSIZE>>8, 0x10, 0, 0, 0, 0, 0, 0, 0}, + {"lmsw", prot286_insn, 1, SUF_Z, 0x06, 0x01, 0, 0, CPU_286, CPU_Priv, 0}, + {"cmovnsq", cmovcc_insn, 3, SUF_Q, 0x09, 0, 0, ONLY_64, CPU_686, 0, 0}, + {"ficompl", fiarith_insn, 2, SUF_L, 0x03, 0xDA, 0, 0, CPU_FPU, 0, 0}, + {"sets", setcc_insn, 1, SUF_Z, 0x08, 0, 0, 0, CPU_386, 0, 0}, + {"vpmuldq", ssse3_insn, 5, SUF_Z, 0x28, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"mulss", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x59, 0, 0, CPU_SSE, 0, 0}, + {"minpd", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x5D, 0, 0, CPU_SSE2, 0, 0}, + {"pshufhw", xmm_xmm128_imm_insn, 1, SUF_Z, 0xF3, 0x70, 0, 0, CPU_SSE2, 0, 0}, + {"dword", NULL, X86_OPERSIZE>>8, 0x20, 0, 0, 0, 0, 0, 0, 0}, + {"cmovnael", cmovcc_insn, 3, SUF_L, 0x02, 0, 0, 0, CPU_686, 0, 0}, + {"xtest", tsx_0x0F_0x01_insn, 1, SUF_Z, 0xD6, 0, 0, 0, CPU_TSX, 0, 0}, + {"sar", shift_insn, 16, SUF_Z, 0x07, 0, 0, 0, 0, 0, 0}, + {"cmovngel", cmovcc_insn, 3, SUF_L, 0x0C, 0, 0, 0, CPU_686, 0, 0}, + {"cmovnlew", cmovcc_insn, 3, SUF_W, 0x0F, 0, 0, 0, CPU_686, 0, 0}, + {"sidt", twobytemem_insn, 1, SUF_Z, 0x01, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0}, + {"fxrstor", twobytemem_insn, 1, SUF_Z, 0x01, 0x0F, 0xAE, 0, CPU_686, CPU_FPU, 0}, + {"adcxl", vex_gpr_ndd_rm_0F38_insn, 2, SUF_L, 0x66, 0xF6, 0, 0, CPU_ADX, 0, 0}, + {"mull", f6_insn, 4, SUF_L, 0x04, 0, 0, 0, CPU_386, 0, 0}, + {"wbinvd", twobyte_insn, 1, SUF_Z, 0x0F, 0x09, 0, 0, CPU_486, CPU_Priv, 0}, + {"pmaxuw", sse4_insn, 2, SUF_Z, 0x3E, 0, 0, 0, CPU_SSE41, 0, 0}, + {"setnp", setcc_insn, 1, SUF_Z, 0x0B, 0, 0, 0, CPU_386, 0, 0}, + {"decb", incdec_insn, 6, SUF_B, 0x48, 0x01, 0, 0, 0, 0, 0}, + {"fnsaves", onebytemem_insn, 1, SUF_S, 0x06, 0xDD, 0, 0, CPU_FPU, 0, 0}, + {"cmovbe", cmovcc_insn, 3, SUF_Z, 0x06, 0, 0, 0, CPU_686, 0, 0}, + {"fsaves", twobytemem_insn, 1, SUF_S, 0x06, 0x9B, 0xDD, 0, CPU_FPU, 0, 0}, + {"jz", jcc_insn, 9, SUF_Z, 0x04, 0, 0, 0, 0, 0, 0}, + {"cmovngeq", cmovcc_insn, 3, SUF_Q, 0x0C, 0, 0, ONLY_64, CPU_686, 0, 0}, + {"neg", f6_insn, 4, SUF_Z, 0x03, 0, 0, 0, 0, 0, 0}, + {"jmp", jmp_insn, 31, SUF_Z, 0, 0, 0, 0, 0, 0, 0}, + {"fdivrp", farithp_insn, 3, SUF_Z, 0xF8, 0, 0, 0, CPU_FPU, 0, 0}, + {"cmovnsl", cmovcc_insn, 3, SUF_L, 0x09, 0, 0, 0, CPU_686, 0, 0}, + {"lesl", ldes_insn, 2, SUF_L, 0xC4, 0, 0, NOT_64, CPU_386, 0, 0}, + {"vpsllvq", vpshiftv_vexw1_avx2_insn, 2, SUF_Z, 0x47, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, + {"movslq", movsxd_insn, 1, SUF_L, 0, 0, 0, ONLY_64, 0, 0, 0}, + {"vmovss", movss_insn, 4, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"cmovbew", cmovcc_insn, 3, SUF_W, 0x06, 0, 0, 0, CPU_686, 0, 0}, + {"vpermpd", vperm_imm_avx2_insn, 1, SUF_Z, 0x01, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, + {"vcmpfalsesd", ssecmp_64_insn, 4, SUF_Z, 0x0B, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"pcmpeqd", mmxsse2_insn, 2, SUF_Z, 0x76, 0, 0, 0, CPU_MMX, 0, 0}, + {"cmovne", cmovcc_insn, 3, SUF_Z, 0x05, 0, 0, 0, CPU_686, 0, 0}, + {"vpcomeqw", vpcom_insn, 1, SUF_Z, 0xCD, 0x04, 0, 0, CPU_XOP, 0, 0}, + {"movsb", onebyte_insn, 1, SUF_Z, 0xA4, 0x00, 0, 0, 0, 0, 0}, + {"loopnzl", loopl_insn, 4, SUF_Z, 0x00, 0x20, 0, 0, 0, 0, 0}, + {"pmaxsd", sse4_insn, 2, SUF_Z, 0x3D, 0, 0, 0, CPU_SSE41, 0, 0}, + {"fld", fld_insn, 4, SUF_Z, 0, 0, 0, 0, CPU_FPU, 0, 0}, + {"fstpt", fldstpt_insn, 1, SUF_Z, 0x07, 0, 0, 0, CPU_FPU, 0, 0}, + {"vcmplepd", ssecmp_128_insn, 3, SUF_Z, 0x02, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"lidtq", twobytemem_insn, 1, SUF_Q, 0x03, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0}, + {"blsmskl", vex_gpr_ndd_rm_0F38_regext_insn, 2, SUF_L, 0x00, 0xF3, 0x02, ONLY_AVX, CPU_BMI1, 0, 0}, + {"vcmpge_oqsd", ssecmp_64_insn, 4, SUF_Z, 0x1D, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"unpckhps", xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x15, 0, 0, CPU_SSE, 0, 0}, + {"vmreadq", vmxmemrd_insn, 2, SUF_Q, 0, 0, 0, ONLY_64, CPU_P4, 0, 0}, + {"btsw", bittest_insn, 6, SUF_W, 0xAB, 0x05, 0, 0, CPU_386, 0, 0}, + {"vpinsrwl", pinsrw_insn, 9, SUF_L, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vpcmpgtw", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x65, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"pextq", vex_gpr_reg_nds_rm_0F_insn, 2, SUF_Q, 0xF3, 0x38, 0xF5, ONLY_64|ONLY_AVX, CPU_BMI2, 0, 0}, + {"vcmpnge_uqsd", ssecmp_64_insn, 4, SUF_Z, 0x19, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"pavgw", mmxsse2_insn, 2, SUF_Z, 0xE3, 0, 0, 0, CPU_MMX, CPU_P3, 0}, + {"vpunpckhbw", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x68, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vmlaunch", threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xC2, 0, CPU_P4, 0, 0}, + {"loopnew", loopw_insn, 4, SUF_Z, 0x00, 0x10, 0, NOT_64, 0, 0, 0}, + {"vmaxps", xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x5F, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"rdshr", rdwrshr_insn, 1, SUF_Z, 0x00, 0, 0, 0, CPU_686, CPU_Cyrix, CPU_SMM}, + {"setge", setcc_insn, 1, SUF_Z, 0x0D, 0, 0, 0, CPU_386, 0, 0}, + {"pcmpgtw", mmxsse2_insn, 2, SUF_Z, 0x65, 0, 0, 0, CPU_MMX, 0, 0}, + {"vsqrtpd", avx_xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x51, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"fstsw", fstsw_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_FPU, 0, 0}, + {"cmovzw", cmovcc_insn, 3, SUF_W, 0x04, 0, 0, 0, CPU_686, 0, 0}, + {"frstors", onebytemem_insn, 1, SUF_S, 0x04, 0xDD, 0, 0, CPU_FPU, 0, 0}, + {"smsww", sldtmsw_insn, 6, SUF_W, 0x04, 0x01, 0, 0, CPU_286, 0, 0}, + {"vpsubusw", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xD9, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"fisubrs", fiarith_insn, 2, SUF_S, 0x05, 0xDA, 0, 0, CPU_FPU, 0, 0}, + {"vmovshdup", avx_xmm_xmm128_insn, 2, SUF_Z, 0xF3, 0x16, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"xacquire", NULL, X86_ACQREL>>8, 0xF2, 0, 0, 0, 0, 0, 0, 0}, + {"vcmple_oqss", ssecmp_32_insn, 4, SUF_Z, 0x12, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vcmpgt_oqpd", ssecmp_128_insn, 3, SUF_Z, 0x1E, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"pfsub", now3d_insn, 1, SUF_Z, 0x9A, 0, 0, 0, CPU_3DNow, 0, 0}, + {"vpgatherdd", gather_32x_32y_insn, 2, SUF_Z, 0x90, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, + {"vcmpngtss", ssecmp_32_insn, 4, SUF_Z, 0x0A, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"pmovzxbw", sse4m64_insn, 4, SUF_Z, 0x30, 0, 0, 0, CPU_SSE41, 0, 0}, + {"cmovgl", cmovcc_insn, 3, SUF_L, 0x0F, 0, 0, 0, CPU_686, 0, 0}, + {"movaps", movau_insn, 6, SUF_Z, 0x00, 0x28, 0x01, 0, CPU_SSE, 0, 0}, + {"rdfsbase", fs_gs_base_insn, 2, SUF_Z, 0x00, 0, 0, ONLY_64, CPU_FSGSBASE, 0, 0}, + {"wrmsr", twobyte_insn, 1, SUF_Z, 0x0F, 0x30, 0, 0, CPU_586, CPU_Priv, 0}, + {"movmskpsl", movmsk_insn, 4, SUF_L, 0, 0, 0, 0, CPU_386, CPU_SSE, 0}, + {"vcmpngtpd", ssecmp_128_insn, 3, SUF_Z, 0x0A, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"decw", incdec_insn, 6, SUF_W, 0x48, 0x01, 0, 0, 0, 0, 0}, + {"vmclear", vmxthreebytemem_insn, 1, SUF_Z, 0x66, 0, 0, 0, CPU_P4, 0, 0}, + {"vfmsub213pd", vfma_pd_insn, 2, SUF_Z, 0xAA, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"roundps", sse4imm_insn, 2, SUF_Z, 0x08, 0, 0, 0, CPU_SSE41, 0, 0}, + {"xsaveopt", twobytemem_insn, 1, SUF_Z, 0x06, 0x0F, 0xAE, 0, CPU_XSAVEOPT, 0, 0}, + {"blsmskq", vex_gpr_ndd_rm_0F38_regext_insn, 2, SUF_Q, 0x00, 0xF3, 0x02, ONLY_64|ONLY_AVX, CPU_BMI1, 0, 0}, + {"fnstcww", fldnstcw_insn, 1, SUF_W, 0x07, 0, 0, 0, CPU_FPU, 0, 0}, + {"unpcklpd", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x14, 0, 0, CPU_SSE2, 0, 0}, + {"pfrcp", now3d_insn, 1, SUF_Z, 0x96, 0, 0, 0, CPU_3DNow, 0, 0}, + {"phaddw", ssse3_insn, 5, SUF_Z, 0x01, 0, 0, 0, CPU_SSSE3, 0, 0}, + {"adoxq", vex_gpr_ndd_rm_0F38_insn, 2, SUF_Q, 0xF3, 0xF6, 0, ONLY_64, CPU_ADX, 0, 0}, + {"vcmpnltsd", ssecmp_64_insn, 4, SUF_Z, 0x05, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vpcomleub", vpcom_insn, 1, SUF_Z, 0xEC, 0x01, 0, 0, CPU_XOP, 0, 0}, + {"vpsrlq", vpshift_insn, 8, SUF_Z, 0xD3, 0x73, 0x02, ONLY_AVX, CPU_AVX, 0, 0}, + {"psllq", pshift_insn, 4, SUF_Z, 0xF3, 0x73, 0x06, 0, CPU_MMX, 0, 0}, + {"enterl", enter_insn, 3, SUF_L, 0, 0, 0, NOT_64, CPU_186, 0, 0}, + {"wrshr", rdwrshr_insn, 1, SUF_Z, 0x01, 0, 0, 0, CPU_686, CPU_Cyrix, CPU_SMM}, + {"blcsq", xop_gpr_reg_rm_09_insn, 2, SUF_Q, 0x01, 0x03, 0, ONLY_64, CPU_TBM, 0, 0}, + {"vpmadcsswd", vpma_insn, 1, SUF_Z, 0xA6, 0, 0, 0, CPU_XOP, 0, 0}, + {"fdivl", farith_insn, 7, SUF_L, 0xF8, 0xF0, 0x06, 0, CPU_FPU, 0, 0}, + {"salb", shift_insn, 16, SUF_B, 0x04, 0, 0, 0, 0, 0, 0}, + {"vpcomequq", vpcom_insn, 1, SUF_Z, 0xEF, 0x04, 0, 0, CPU_XOP, 0, 0}, + {"cmovpw", cmovcc_insn, 3, SUF_W, 0x0A, 0, 0, 0, CPU_686, 0, 0}, + {"cmovgw", cmovcc_insn, 3, SUF_W, 0x0F, 0, 0, 0, CPU_686, 0, 0}, + {"vpmovmskbl", pmovmskb_insn, 6, SUF_L, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"iretl", onebyte_insn, 1, SUF_Z, 0xCF, 0x20, 0, 0, CPU_386, 0, 0}, + {"fdiv", farith_insn, 7, SUF_Z, 0xF8, 0xF0, 0x06, 0, CPU_FPU, 0, 0}, + {"vpermps", vperm_var_avx2_insn, 1, SUF_Z, 0x16, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, + {"vphaddwd", vphaddsub_insn, 1, SUF_Z, 0xC6, 0, 0, 0, CPU_XOP, 0, 0}, + {"vcmpnlt_uqss", ssecmp_32_insn, 4, SUF_Z, 0x15, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vpcomleuw", vpcom_insn, 1, SUF_Z, 0xED, 0x01, 0, 0, CPU_XOP, 0, 0}, + {"crc32l", crc32_insn, 5, SUF_L, 0, 0, 0, 0, CPU_386, CPU_SSE42, 0}, + {"cmpsq", onebyte_insn, 1, SUF_Z, 0xA7, 0x40, 0, ONLY_64, 0, 0, 0}, + {"cmovpel", cmovcc_insn, 3, SUF_L, 0x0A, 0, 0, 0, CPU_686, 0, 0}, + {"cmovnlel", cmovcc_insn, 3, SUF_L, 0x0F, 0, 0, 0, CPU_686, 0, 0}, + {"sysretl", twobyte_insn, 1, SUF_L, 0x0F, 0x07, 0, 0, CPU_686, CPU_AMD, CPU_Priv}, + {"setpo", setcc_insn, 1, SUF_Z, 0x0B, 0, 0, 0, CPU_386, 0, 0}, + {"vpcomgtq", vpcom_insn, 1, SUF_Z, 0xCF, 0x02, 0, 0, CPU_XOP, 0, 0}, + {"phsubsw", ssse3_insn, 5, SUF_Z, 0x07, 0, 0, 0, CPU_SSSE3, 0, 0}, + {"pinsrw", pinsrw_insn, 9, SUF_Z, 0, 0, 0, 0, CPU_MMX, CPU_P3, 0}, + {"vfmadd231ps", vfma_ps_insn, 2, SUF_Z, 0xB8, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"mulps", xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x59, 0, 0, CPU_SSE, 0, 0}, + {"setz", setcc_insn, 1, SUF_Z, 0x04, 0, 0, 0, CPU_386, 0, 0}, + {"cmpltsd", ssecmp_64_insn, 4, SUF_Z, 0x01, 0xF2, 0, 0, CPU_SSE2, 0, 0}, + {"fstl", fst_insn, 3, SUF_L, 0, 0, 0, 0, CPU_FPU, 0, 0}, + {"vcmptrueps", ssecmp_128_insn, 3, SUF_Z, 0x0F, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"cmovow", cmovcc_insn, 3, SUF_W, 0x00, 0, 0, 0, CPU_686, 0, 0}, + {"extrq", extrq_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_SSE4a, 0, 0}, + {"verrw", prot286_insn, 1, SUF_W, 0x04, 0x00, 0, 0, CPU_286, CPU_Prot, 0}, + {"setno", setcc_insn, 1, SUF_Z, 0x01, 0, 0, 0, CPU_386, 0, 0}, + {"lssw", lfgss_insn, 3, SUF_W, 0xB2, 0, 0, 0, CPU_386, 0, 0}, + {"cmpunordps", ssecmp_128_insn, 3, SUF_Z, 0x03, 0, 0, 0, CPU_SSE, 0, 0}, + {"shlxq", vex_gpr_reg_rm_nds_0F_insn, 2, SUF_Q, 0x66, 0x38, 0xF7, ONLY_64|ONLY_AVX, CPU_BMI2, 0, 0}, + {"emms", twobyte_insn, 1, SUF_Z, 0x0F, 0x77, 0, 0, CPU_MMX, 0, 0}, + {"sarq", shift_insn, 16, SUF_Q, 0x07, 0, 0, ONLY_64, 0, 0, 0}, + {"pminsd", sse4_insn, 2, SUF_Z, 0x39, 0, 0, 0, CPU_SSE41, 0, 0}, + {"rorw", shift_insn, 16, SUF_W, 0x01, 0, 0, 0, 0, 0, 0}, + {"pxor", mmxsse2_insn, 2, SUF_Z, 0xEF, 0, 0, 0, CPU_MMX, 0, 0}, + {"pfnacc", now3d_insn, 1, SUF_Z, 0x8A, 0, 0, 0, CPU_3DNow, CPU_Athlon, 0}, + {"pf2iw", now3d_insn, 1, SUF_Z, 0x1C, 0, 0, 0, CPU_3DNow, CPU_Athlon, 0}, + {"invpcid", invpcid_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_386, CPU_INVPCID, CPU_Priv}, + {"fcompl", fcom_insn, 6, SUF_L, 0xD8, 0x03, 0, 0, CPU_FPU, 0, 0}, + {"larq", larlsl_insn, 6, SUF_Q, 0x02, 0, 0, ONLY_64, CPU_286, CPU_Prot, 0}, + {"str", str_insn, 4, SUF_Z, 0, 0, 0, 0, CPU_286, CPU_Prot, 0}, + {"movmskpsq", movmsk_insn, 4, SUF_Q, 0, 0, 0, ONLY_64, CPU_SSE, 0, 0}, + {"lds", ldes_insn, 2, SUF_Z, 0xC5, 0, 0, NOT_64, 0, 0, 0}, + {"vpinsrb", pinsrb_insn, 4, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"pushf", onebyte_insn, 1, SUF_Z, 0x9C, 0x00, 0x40, 0, 0, 0, 0}, + {"vcvtsd2sil", cvt_rx_xmm64_insn, 4, SUF_L, 0xF2, 0x2D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"jge", jcc_insn, 9, SUF_Z, 0x0D, 0, 0, 0, 0, 0, 0}, + {"setpb", setcc_insn, 1, SUF_B, 0x0A, 0, 0, 0, CPU_386, 0, 0}, + {"andl", arith_insn, 22, SUF_L, 0x20, 0x04, 0, 0, CPU_386, 0, 0}, + {"vaesdec", aes_insn, 2, SUF_Z, 0x38, 0xDE, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"xstore", padlock_insn, 1, SUF_Z, 0xC0, 0x00, 0xA7, 0, CPU_PadLock, 0, 0}, + {"sha1nexte", intel_SHA1NEXTE_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SHA, 0, 0}, + {"andps", xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x54, 0, 0, CPU_SSE, 0, 0}, + {"vphaddbd", vphaddsub_insn, 1, SUF_Z, 0xC2, 0, 0, 0, CPU_XOP, 0, 0}, + {"rorxl", vex_gpr_reg_rm_0F_imm8_insn, 2, SUF_L, 0xF2, 0x3A, 0xF0, ONLY_AVX, CPU_BMI2, 0, 0}, + {"jmpw", jmp_insn, 31, SUF_W, 0, 0, 0, 0, 0, 0, 0}, + {"fildll", fbldstp_insn, 1, SUF_Z, 0x05, 0, 0, 0, CPU_FPU, 0, 0}, + {"out", out_insn, 12, SUF_Z, 0, 0, 0, 0, 0, 0, 0}, + {"mulsd", xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x59, 0, 0, CPU_SSE2, 0, 0}, + {"movss", movss_insn, 4, SUF_Z, 0, 0, 0, 0, CPU_SSE, 0, 0}, + {"smswl", sldtmsw_insn, 6, SUF_L, 0x04, 0x01, 0, 0, CPU_386, 0, 0}, + {"aam", aadm_insn, 2, SUF_Z, 0x00, 0, 0, NOT_64, 0, 0, 0}, + {"stosw", onebyte_insn, 1, SUF_Z, 0xAB, 0x10, 0, 0, 0, 0, 0}, + {"ptest", sse4_insn, 2, SUF_Z, 0x17, 0, 0, 0, CPU_SSE41, 0, 0}, + {"lretw", retnf_insn, 6, SUF_W, 0xCA, 0x10, 0, 0, 0, 0, 0}, + {"notq", f6_insn, 4, SUF_Q, 0x02, 0, 0, ONLY_64, 0, 0, 0}, + {"vmload", svm_rax_insn, 2, SUF_Z, 0xDA, 0, 0, 0, CPU_SVM, 0, 0}, + {"andb", arith_insn, 22, SUF_B, 0x20, 0x04, 0, 0, 0, 0, 0}, + {"vcmpeq_usss", ssecmp_32_insn, 4, SUF_Z, 0x18, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vpsubsw", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xE9, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vmovmskpd", movmsk_insn, 4, SUF_Z, 0x66, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vfnmsub231pd", vfma_pd_insn, 2, SUF_Z, 0xBE, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"cmovg", cmovcc_insn, 3, SUF_Z, 0x0F, 0, 0, 0, CPU_686, 0, 0}, + {"cmpeqpd", ssecmp_128_insn, 3, SUF_Z, 0x00, 0x66, 0, 0, CPU_SSE, 0, 0}, + {"vfmsub213sd", vfma_sd_insn, 2, SUF_Z, 0xAB, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"rex64", NULL, X86_REX>>8, 0x48, 0, 0, 0, ONLY_64, 0, 0, 0}, + {"vpcmpistri", sse4pcmpstr_insn, 1, SUF_Z, 0x63, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vpminsb", ssse3_insn, 5, SUF_Z, 0x38, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vfnmadd231pd", vfma_pd_insn, 2, SUF_Z, 0xBC, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"ja", jcc_insn, 9, SUF_Z, 0x07, 0, 0, 0, 0, 0, 0}, + {"vpmullw", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xD5, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vcvttpd2dq", avx_cvt_xmm128_insn, 2, SUF_Z, 0x66, 0xE6, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vgatherdps", gather_32x_32y_insn, 2, SUF_Z, 0x92, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, + {"vfmsub213ss", vfma_ss_insn, 2, SUF_Z, 0xAB, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"cmpxchgb", cmpxchgxadd_insn, 4, SUF_B, 0xB0, 0, 0, 0, CPU_486, 0, 0}, + {"sgdtw", twobytemem_insn, 1, SUF_W, 0x00, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0}, + {"cmpb", arith_insn, 22, SUF_B, 0x38, 0x07, 0, 0, 0, 0, 0}, + {"vmulpd", xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x59, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"cvttsd2siq", cvt_rx_xmm64_insn, 4, SUF_Q, 0xF2, 0x2C, 0, ONLY_64, CPU_SSE2, 0, 0}, + {"movzwq", movszx_insn, 5, SUF_W, 0xB6, 0, 0, ONLY_64, CPU_386, 0, 0}, + {"les", ldes_insn, 2, SUF_Z, 0xC4, 0, 0, NOT_64, 0, 0, 0}, + {"vcmpngepd", ssecmp_128_insn, 3, SUF_Z, 0x09, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"clflush", clflush_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_P3, 0, 0}, + {"leavew", onebyte_insn, 1, SUF_Z, 0xC9, 0x10, 0x00, 0, CPU_186, 0, 0}, + {"addsubps", xmm_xmm128_insn, 2, SUF_Z, 0xF2, 0xD0, 0, 0, CPU_SSE3, 0, 0}, + {"vinsertps", insertps_insn, 4, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vmresume", threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xC3, 0, CPU_P4, 0, 0}, + {"cmpnlesd", ssecmp_64_insn, 4, SUF_Z, 0x06, 0xF2, 0, 0, CPU_SSE2, 0, 0}, + {"setnge", setcc_insn, 1, SUF_Z, 0x0C, 0, 0, 0, CPU_386, 0, 0}, + {"adcxq", vex_gpr_ndd_rm_0F38_insn, 2, SUF_Q, 0x66, 0xF6, 0, ONLY_64, CPU_ADX, 0, 0}, + {"xsetbv", threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xD1, 0, CPU_386, CPU_Priv, CPU_XSAVE}, + {"vphsubsw", ssse3_insn, 5, SUF_Z, 0x07, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vcmpgtsd", ssecmp_64_insn, 4, SUF_Z, 0x0E, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vphsubw", ssse3_insn, 5, SUF_Z, 0x05, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"cmovnbel", cmovcc_insn, 3, SUF_L, 0x07, 0, 0, 0, CPU_686, 0, 0}, + {"fcomi", fcom2_insn, 2, SUF_Z, 0xDB, 0xF0, 0, 0, CPU_686, CPU_FPU, 0}, + {"blsfillq", xop_gpr_reg_rm_09_insn, 2, SUF_Q, 0x01, 0x02, 0, ONLY_64, CPU_TBM, 0, 0}, + {"mulxl", vex_gpr_reg_nds_rm_0F_insn, 2, SUF_L, 0xF2, 0x38, 0xF6, ONLY_AVX, CPU_BMI2, 0, 0}, + {"fcomip", fcom2_insn, 2, SUF_Z, 0xDF, 0xF0, 0, 0, CPU_686, CPU_FPU, 0}, + {"vpinsrq", pinsrq_insn, 2, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vpcomw", vpcom_imm_insn, 1, SUF_Z, 0xCD, 0, 0, 0, CPU_XOP, 0, 0}, + {"rsts", cyrixsmm_insn, 1, SUF_Z, 0x7D, 0, 0, 0, CPU_486, CPU_Cyrix, CPU_SMM}, + {"vpcomleb", vpcom_insn, 1, SUF_Z, 0xCC, 0x01, 0, 0, CPU_XOP, 0, 0}, + {"vdivpd", xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x5E, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"add", arith_insn, 22, SUF_Z, 0x00, 0x00, 0, 0, 0, 0, 0}, + {"sldtw", sldtmsw_insn, 6, SUF_W, 0x00, 0x00, 0, 0, CPU_286, 0, 0}, + {"rorl", shift_insn, 16, SUF_L, 0x01, 0, 0, 0, CPU_386, 0, 0}, + {"vcvtsi2sd", cvt_xmm_rmx_insn, 6, SUF_Z, 0xF2, 0x2A, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vcmpnge_uqps", ssecmp_128_insn, 3, SUF_Z, 0x19, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vfmsubpd", fma_128_256_insn, 4, SUF_Z, 0x6D, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0}, + {"vpminsd", ssse3_insn, 5, SUF_Z, 0x39, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"fistl", fiarith_insn, 2, SUF_L, 0x02, 0xDB, 0, 0, CPU_FPU, 0, 0}, + {"fcmovu", fcmovcc_insn, 1, SUF_Z, 0xDA, 0xD8, 0, 0, CPU_686, CPU_FPU, 0}, + {"scasb", onebyte_insn, 1, SUF_Z, 0xAE, 0x00, 0, 0, 0, 0, 0}, + {"phminposuw", sse4_insn, 2, SUF_Z, 0x41, 0, 0, 0, CPU_SSE41, 0, 0}, + {"pextrwl", pextrw_insn, 7, SUF_L, 0, 0, 0, 0, CPU_MMX, CPU_P3, 0}, + {"vpclmulqdq", pclmulqdq_insn, 2, SUF_Z, 0x3A, 0x44, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vphaddbw", vphaddsub_insn, 1, SUF_Z, 0xC1, 0, 0, 0, CPU_XOP, 0, 0}, + {"psubsb", mmxsse2_insn, 2, SUF_Z, 0xE8, 0, 0, 0, CPU_MMX, 0, 0}, + {"lss", lfgss_insn, 3, SUF_Z, 0xB2, 0, 0, 0, CPU_386, 0, 0}, + {"pushal", onebyte_insn, 1, SUF_Z, 0x60, 0x20, 0, NOT_64, CPU_386, 0, 0}, + {"setb", setcc_insn, 1, SUF_Z, 0x02, 0, 0, 0, CPU_386, 0, 0}, + {"cmpnltps", ssecmp_128_insn, 3, SUF_Z, 0x05, 0, 0, 0, CPU_SSE, 0, 0}, + {"rcpss", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x53, 0, 0, CPU_SSE, 0, 0}, + {"vcmpnltpd", ssecmp_128_insn, 3, SUF_Z, 0x05, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"cmpneqps", ssecmp_128_insn, 3, SUF_Z, 0x04, 0, 0, 0, CPU_SSE, 0, 0}, + {"vpsadbw", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xF6, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vcvtss2sil", cvt_rx_xmm32_insn, 4, SUF_L, 0xF3, 0x2D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"fadds", farith_insn, 7, SUF_S, 0xC0, 0xC0, 0x00, 0, CPU_FPU, 0, 0}, + {"cmovbeq", cmovcc_insn, 3, SUF_Q, 0x06, 0, 0, ONLY_64, CPU_686, 0, 0}, + {"bextrl", bextr_insn, 4, SUF_L, 0, 0, 0, ONLY_AVX, CPU_386, CPU_BMI1, 0}, + {"vsqrtps", avx_xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x51, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vcmpunord_ssd", ssecmp_64_insn, 4, SUF_Z, 0x13, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"pmaxsw", mmxsse2_insn, 2, SUF_Z, 0xEE, 0, 0, 0, CPU_MMX, CPU_P3, 0}, + {"lcallq", ljmpcall_insn, 7, SUF_Q, 0x03, 0x9A, 0, ONLY_64, 0, 0, 0}, + {"vpextrb", pextrb_insn, 3, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"fchs", twobyte_insn, 1, SUF_Z, 0xD9, 0xE0, 0, 0, CPU_FPU, 0, 0}, + {"cmovnbeq", cmovcc_insn, 3, SUF_Q, 0x07, 0, 0, ONLY_64, CPU_686, 0, 0}, + {"sha1msg2", intel_SHA1MSG2_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SHA, 0, 0}, + {"vpaddusb", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xDC, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"faddp", farithp_insn, 3, SUF_Z, 0xC0, 0, 0, 0, CPU_FPU, 0, 0}, + {"cmovnbe", cmovcc_insn, 3, SUF_Z, 0x07, 0, 0, 0, CPU_686, 0, 0}, + {"psrldq", pslrldq_insn, 4, SUF_Z, 0x03, 0, 0, 0, CPU_SSE2, 0, 0}, + {"movswl", movszx_insn, 5, SUF_W, 0xBE, 0, 0, 0, CPU_386, 0, 0}, + {"outsw", onebyte_insn, 1, SUF_Z, 0x6F, 0x10, 0, 0, 0, 0, 0}, + {"vpminud", ssse3_insn, 5, SUF_Z, 0x3B, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"aesimc", aesimc_insn, 1, SUF_Z, 0x38, 0xDB, 0, 0, CPU_AES, 0, 0}, + {"movsd", movsd_insn, 5, SUF_Z, 0, 0, 0, 0, CPU_386, 0, 0}, + {"fistpq", fildstp_insn, 4, SUF_Q, 0x03, 0x02, 0x07, 0, CPU_FPU, 0, 0}, + {"loopnzq", loopq_insn, 4, SUF_Z, 0x00, 0x40, 0, ONLY_64, 0, 0, 0}, + {"vcmpngt_uqps", ssecmp_128_insn, 3, SUF_Z, 0x1A, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"setsb", setcc_insn, 1, SUF_B, 0x08, 0, 0, 0, CPU_386, 0, 0}, + {"vpsignw", ssse3_insn, 5, SUF_Z, 0x09, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"scasl", onebyte_insn, 1, SUF_Z, 0xAF, 0x20, 0, 0, CPU_386, 0, 0}, + {"addb", arith_insn, 22, SUF_B, 0x00, 0x00, 0, 0, 0, 0, 0}, + {"jnc", jcc_insn, 9, SUF_Z, 0x03, 0, 0, 0, 0, 0, 0}, + {"cmpeqsd", ssecmp_64_insn, 4, SUF_Z, 0x00, 0xF2, 0, 0, CPU_SSE2, 0, 0}, + {"maxss", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x5F, 0, 0, CPU_SSE, 0, 0}, + {"lodsl", onebyte_insn, 1, SUF_Z, 0xAD, 0x20, 0, 0, CPU_386, 0, 0}, + {"lahf", onebyte_insn, 1, SUF_Z, 0x9F, 0, 0, 0, 0, 0, 0}, + {"setp", setcc_insn, 1, SUF_Z, 0x0A, 0, 0, 0, CPU_386, 0, 0}, + {"vpunpcklwd", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x61, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vmwritel", vmxmemwr_insn, 2, SUF_L, 0, 0, 0, NOT_64, CPU_P4, 0, 0}, + {"blendps", sse4imm_insn, 2, SUF_Z, 0x0C, 0, 0, 0, CPU_SSE41, 0, 0}, + {"vmcall", threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xC1, 0, CPU_P4, 0, 0}, + {"pushq", push_insn, 35, SUF_Q, 0, 0, 0, ONLY_64, 0, 0, 0}, + {"vcmpnleps", ssecmp_128_insn, 3, SUF_Z, 0x06, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vpcomtrueuw", vpcom_insn, 1, SUF_Z, 0xED, 0x07, 0, 0, CPU_XOP, 0, 0}, + {"pmuldq", sse4_insn, 2, SUF_Z, 0x28, 0, 0, 0, CPU_SSE41, 0, 0}, + {"cmpl", arith_insn, 22, SUF_L, 0x38, 0x07, 0, 0, CPU_386, 0, 0}, + {"pfmin", now3d_insn, 1, SUF_Z, 0x94, 0, 0, 0, CPU_3DNow, 0, 0}, + {"fldpi", twobyte_insn, 1, SUF_Z, 0xD9, 0xEB, 0, 0, CPU_FPU, 0, 0}, + {"vcvtsi2sdl", cvt_xmm_rmx_insn, 6, SUF_L, 0xF2, 0x2A, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vpsraw", vpshift_insn, 8, SUF_Z, 0xE1, 0x71, 0x04, ONLY_AVX, CPU_AVX, 0, 0}, + {"vcvtps2ph", avx_cvtps2ph_insn, 4, SUF_Z, 0x66, 0x1D, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"subq", arith_insn, 22, SUF_Q, 0x28, 0x05, 0, ONLY_64, 0, 0, 0}, + {"fsubrs", farith_insn, 7, SUF_S, 0xE0, 0xE8, 0x05, 0, CPU_FPU, 0, 0}, + {"xchgq", xchg_insn, 16, SUF_Q, 0, 0, 0, ONLY_64, 0, 0, 0}, + {"cmovsq", cmovcc_insn, 3, SUF_Q, 0x08, 0, 0, ONLY_64, CPU_686, 0, 0}, + {"shldq", shlrd_insn, 9, SUF_Q, 0xA4, 0, 0, ONLY_64, CPU_386, 0, 0}, + {"leaveq", onebyte_insn, 1, SUF_Z, 0xC9, 0x00, 0x40, ONLY_64, 0, 0, 0}, + {"stc", onebyte_insn, 1, SUF_Z, 0xF9, 0, 0, 0, 0, 0, 0}, + {"fsave", twobytemem_insn, 1, SUF_Z, 0x06, 0x9B, 0xDD, 0, CPU_FPU, 0, 0}, + {"rclb", shift_insn, 16, SUF_B, 0x02, 0, 0, 0, 0, 0, 0}, + {"fisubrl", fiarith_insn, 2, SUF_L, 0x05, 0xDA, 0, 0, CPU_FPU, 0, 0}, + {"vpsrlvd", vpshiftv_vexw0_avx2_insn, 2, SUF_Z, 0x45, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, + {"fstenvl", twobytemem_insn, 1, SUF_L, 0x06, 0x9B, 0xD9, 0, CPU_FPU, 0, 0}, + {"paddsb", mmxsse2_insn, 2, SUF_Z, 0xEC, 0, 0, 0, CPU_MMX, 0, 0}, + {"vmwriteq", vmxmemwr_insn, 2, SUF_Q, 0, 0, 0, ONLY_64, CPU_P4, 0, 0}, + {"ud2", twobyte_insn, 1, SUF_Z, 0x0F, 0x0B, 0, 0, CPU_286, 0, 0}, + {"vfmaddsub132pd", vfma_pd_insn, 2, SUF_Z, 0x96, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"sti", onebyte_insn, 1, SUF_Z, 0xFB, 0, 0, 0, 0, 0, 0}, + {"shld", shlrd_insn, 9, SUF_Z, 0xA4, 0, 0, 0, CPU_386, 0, 0}, + {"vpabsd", avx2_ssse3_2op_insn, 2, SUF_Z, 0x1E, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"mwait", threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xC9, 0, CPU_SSE3, 0, 0}, + {"cvtsi2sd", cvt_xmm_rmx_insn, 6, SUF_Z, 0xF2, 0x2A, 0, 0, CPU_SSE2, 0, 0}, + {"cmovnp", cmovcc_insn, 3, SUF_Z, 0x0B, 0, 0, 0, CPU_686, 0, 0}, + {"vcvtpd2dq", avx_cvt_xmm128_insn, 2, SUF_Z, 0xF2, 0xE6, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"pmovsxbw", sse4m64_insn, 4, SUF_Z, 0x20, 0, 0, 0, CPU_SSE41, 0, 0}, + {"fisubl", fiarith_insn, 2, SUF_L, 0x04, 0xDA, 0, 0, CPU_FPU, 0, 0}, + {"daa", onebyte_insn, 1, SUF_Z, 0x27, 0, 0, NOT_64, 0, 0, 0}, + {"fdivrl", farith_insn, 7, SUF_L, 0xF0, 0xF8, 0x07, 0, CPU_FPU, 0, 0}, + {"stac", threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xCB, 0, CPU_SMAP, 0, 0}, + {"testw", test_insn, 20, SUF_W, 0, 0, 0, 0, 0, 0, 0}, + {"movzwl", movszx_insn, 5, SUF_W, 0xB6, 0, 0, 0, CPU_386, 0, 0}, + {"vpblendw", sse4imm_256avx2_insn, 4, SUF_Z, 0x0E, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vpcomgtuq", vpcom_insn, 1, SUF_Z, 0xEF, 0x02, 0, 0, CPU_XOP, 0, 0}, + {"setnaeb", setcc_insn, 1, SUF_B, 0x02, 0, 0, 0, CPU_386, 0, 0}, + {"pextrwq", pextrw_insn, 7, SUF_Q, 0, 0, 0, ONLY_64, CPU_MMX, CPU_P3, 0}, + {"lodsq", onebyte_insn, 1, SUF_Z, 0xAD, 0x40, 0, ONLY_64, 0, 0, 0}, + {"fincstp", twobyte_insn, 1, SUF_Z, 0xD9, 0xF7, 0, 0, CPU_FPU, 0, 0}, + {"cmovlew", cmovcc_insn, 3, SUF_W, 0x0E, 0, 0, 0, CPU_686, 0, 0}, + {"insertq", insertq_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_SSE4a, 0, 0}, + {"notl", f6_insn, 4, SUF_L, 0x02, 0, 0, 0, CPU_386, 0, 0}, + {"vfnmadd132sd", vfma_sd_insn, 2, SUF_Z, 0x9D, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"cmova", cmovcc_insn, 3, SUF_Z, 0x07, 0, 0, 0, CPU_686, 0, 0}, + {"fstcw", fstcw_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_FPU, 0, 0}, + {"vpclmullqhqdq", pclmulqdq_fixed_insn, 2, SUF_Z, 0x10, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"movnti", movnti_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_P4, 0, 0}, + {"packusdw", sse4_insn, 2, SUF_Z, 0x2B, 0, 0, 0, CPU_SSE41, 0, 0}, + {"punpckhqdq", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x6D, 0, 0, CPU_SSE2, 0, 0}, + {"lzcntw", cnt_insn, 3, SUF_W, 0xBD, 0, 0, 0, CPU_LZCNT, 0, 0}, + {"pcmpistri", sse4pcmpstr_insn, 1, SUF_Z, 0x63, 0, 0, 0, CPU_SSE42, 0, 0}, + {"fimull", fiarith_insn, 2, SUF_L, 0x01, 0xDA, 0, 0, CPU_FPU, 0, 0}, + {"fnstenv", onebytemem_insn, 1, SUF_Z, 0x06, 0xD9, 0, 0, CPU_FPU, 0, 0}, + {"cmovncw", cmovcc_insn, 3, SUF_W, 0x03, 0, 0, 0, CPU_686, 0, 0}, + {"leaw", lea_insn, 3, SUF_W, 0, 0, 0, 0, 0, 0, 0}, + {"vfmadd132ss", vfma_ss_insn, 2, SUF_Z, 0x99, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"pshufd", xmm_xmm128_imm_insn, 1, SUF_Z, 0x66, 0x70, 0, 0, CPU_SSE2, 0, 0}, + {"blsil", vex_gpr_ndd_rm_0F38_regext_insn, 2, SUF_L, 0x00, 0xF3, 0x03, ONLY_AVX, CPU_BMI1, 0, 0}, + {"stosl", onebyte_insn, 1, SUF_Z, 0xAB, 0x20, 0, 0, CPU_386, 0, 0}, + {"mulq", f6_insn, 4, SUF_Q, 0x04, 0, 0, ONLY_64, 0, 0, 0}, + {"cmovbl", cmovcc_insn, 3, SUF_L, 0x02, 0, 0, 0, CPU_686, 0, 0}, + {"vpmaxsd", ssse3_insn, 5, SUF_Z, 0x3D, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"rsqrtps", xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x52, 0, 0, CPU_SSE, 0, 0}, + {"ror", shift_insn, 16, SUF_Z, 0x01, 0, 0, 0, 0, 0, 0}, + {"vcmptrue_usss", ssecmp_32_insn, 4, SUF_Z, 0x1F, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vpermq", vperm_imm_avx2_insn, 1, SUF_Z, 0x00, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, + {"xcryptofb", padlock_insn, 1, SUF_Z, 0xE8, 0xF3, 0xA7, 0, CPU_PadLock, 0, 0}, + {"btsl", bittest_insn, 6, SUF_L, 0xAB, 0x05, 0, 0, CPU_386, 0, 0}, + {"vfnmsub213ps", vfma_ps_insn, 2, SUF_Z, 0xAE, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"stmxcsr", ldstmxcsr_insn, 1, SUF_Z, 0x03, 0, 0, 0, CPU_SSE, 0, 0}, + {"vzeroupper", vzero_insn, 1, SUF_Z, 0xC0, 0, 0, 0, CPU_AVX, 0, 0}, + {"adcx", vex_gpr_ndd_rm_0F38_insn, 2, SUF_Z, 0x66, 0xF6, 0, 0, CPU_ADX, 0, 0}, + {"setnz", setcc_insn, 1, SUF_Z, 0x05, 0, 0, 0, CPU_386, 0, 0}, + {"fildl", fildstp_insn, 4, SUF_L, 0x00, 0x02, 0x05, 0, CPU_FPU, 0, 0}, + {"movlps", movhlp_insn, 3, SUF_Z, 0x00, 0x12, 0, 0, CPU_SSE, 0, 0}, + {"vmovmskpdq", movmsk_insn, 4, SUF_Q, 0x66, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"cmovngw", cmovcc_insn, 3, SUF_W, 0x0E, 0, 0, 0, CPU_686, 0, 0}, + {"cltd", onebyte_insn, 1, SUF_Z, 0x99, 0x20, 0, 0, CPU_386, 0, 0}, + {"fmuls", farith_insn, 7, SUF_S, 0xC8, 0xC8, 0x01, 0, CPU_FPU, 0, 0}, + {"fcom", fcom_insn, 6, SUF_Z, 0xD0, 0x02, 0, 0, CPU_FPU, 0, 0}, + {"andq", arith_insn, 22, SUF_Q, 0x20, 0x04, 0, ONLY_64, 0, 0, 0}, + {"vfmaddps", fma_128_256_insn, 4, SUF_Z, 0x68, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0}, + {"fst", fst_insn, 3, SUF_Z, 0, 0, 0, 0, CPU_FPU, 0, 0}, + {"vmaskmovpd", vmaskmov_insn, 4, SUF_Z, 0x2D, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"cld", onebyte_insn, 1, SUF_Z, 0xFC, 0, 0, 0, 0, 0, 0}, + {"vpinsrd", pinsrd_insn, 2, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"xchgl", xchg_insn, 16, SUF_L, 0, 0, 0, 0, 0, 0, 0}, + {"vcmpgtpd", ssecmp_128_insn, 3, SUF_Z, 0x0E, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"cmovael", cmovcc_insn, 3, SUF_L, 0x03, 0, 0, 0, CPU_686, 0, 0}, + {"phaddsw", ssse3_insn, 5, SUF_Z, 0x03, 0, 0, 0, CPU_SSSE3, 0, 0}, + {"pclmullqlqdq", pclmulqdq_fixed_insn, 2, SUF_Z, 0x00, 0, 0, 0, CPU_AVX, 0, 0}, + {"cmovnleq", cmovcc_insn, 3, SUF_Q, 0x0F, 0, 0, ONLY_64, CPU_686, 0, 0}, + {"pcmpeqb", mmxsse2_insn, 2, SUF_Z, 0x74, 0, 0, 0, CPU_MMX, 0, 0}, + {"word", NULL, X86_OPERSIZE>>8, 0x10, 0, 0, 0, 0, 0, 0, 0}, + {"blcmskq", xop_gpr_reg_rm_09_insn, 2, SUF_Q, 0x02, 0x01, 0, ONLY_64, CPU_TBM, 0, 0}, + {"vpcomgtud", vpcom_insn, 1, SUF_Z, 0xEE, 0x02, 0, 0, CPU_XOP, 0, 0}, + {"fsubr", farith_insn, 7, SUF_Z, 0xE0, 0xE8, 0x05, 0, CPU_FPU, 0, 0}, + {"cmovp", cmovcc_insn, 3, SUF_Z, 0x0A, 0, 0, 0, CPU_686, 0, 0}, + {"shrq", shift_insn, 16, SUF_Q, 0x05, 0, 0, ONLY_64, 0, 0, 0}, + {"vpcomgtd", vpcom_insn, 1, SUF_Z, 0xCE, 0x02, 0, 0, CPU_XOP, 0, 0}, + {"vfnmsub132sd", vfma_sd_insn, 2, SUF_Z, 0x9F, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"vpor", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xEB, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"psllw", pshift_insn, 4, SUF_Z, 0xF1, 0x71, 0x06, 0, CPU_MMX, 0, 0}, + {"fbld", fbldstp_insn, 1, SUF_Z, 0x04, 0, 0, 0, CPU_FPU, 0, 0}, + {"subw", arith_insn, 22, SUF_W, 0x28, 0x05, 0, 0, 0, 0, 0}, + {"vmovhlps", movhllhps_insn, 2, SUF_Z, 0x12, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"cmovleq", cmovcc_insn, 3, SUF_Q, 0x0E, 0, 0, ONLY_64, CPU_686, 0, 0}, + {"imulw", imul_insn, 19, SUF_W, 0, 0, 0, 0, 0, 0, 0}, + {"cvttss2siq", cvt_rx_xmm32_insn, 4, SUF_Q, 0xF3, 0x2C, 0, ONLY_64, CPU_SSE, 0, 0}, + {"vgatherqpd", gather_64x_64y_insn, 2, SUF_Z, 0x93, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, + {"imulq", imul_insn, 19, SUF_Q, 0, 0, 0, ONLY_64, 0, 0, 0}, + {"ret", retnf_insn, 6, SUF_Z, 0xC2, 0, 0, 0, 0, 0, 0}, + {"vphminposuw", avx_ssse3_2op_insn, 1, SUF_Z, 0x41, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"cmpneqsd", ssecmp_64_insn, 4, SUF_Z, 0x04, 0xF2, 0, 0, CPU_SSE2, 0, 0}, + {"jae", jcc_insn, 9, SUF_Z, 0x03, 0, 0, 0, 0, 0, 0}, + {"vpavgb", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xE0, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"cwtd", onebyte_insn, 1, SUF_Z, 0x99, 0x10, 0, 0, 0, 0, 0}, + {"movddup", xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x12, 0, 0, CPU_SSE3, 0, 0}, + {"vpcomud", vpcom_imm_insn, 1, SUF_Z, 0xEE, 0, 0, 0, CPU_XOP, 0, 0}, + {"vpmovzxwd", sse4m64_insn, 4, SUF_Z, 0x33, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vfnmsubss", fma_128_m32_insn, 3, SUF_Z, 0x7E, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0}, + {"cmovgew", cmovcc_insn, 3, SUF_W, 0x0D, 0, 0, 0, CPU_686, 0, 0}, + {"bzhi", vex_gpr_reg_rm_nds_0F_insn, 2, SUF_Z, 0x00, 0x38, 0xF5, ONLY_AVX, CPU_BMI2, 0, 0}, + {"setab", setcc_insn, 1, SUF_B, 0x07, 0, 0, 0, CPU_386, 0, 0}, + {"rsqrtss", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x52, 0, 0, CPU_SSE, 0, 0}, + {"vfmaddsub213pd", vfma_pd_insn, 2, SUF_Z, 0xA6, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"montmul", padlock_insn, 1, SUF_Z, 0xC0, 0xF3, 0xA6, 0, CPU_PadLock, 0, 0}, + {"rcrq", shift_insn, 16, SUF_Q, 0x03, 0, 0, ONLY_64, 0, 0, 0}, + {"vpaddsb", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xEC, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vbroadcastss", vbroadcastss_insn, 4, SUF_Z, 0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"cmovnz", cmovcc_insn, 3, SUF_Z, 0x05, 0, 0, 0, CPU_686, 0, 0}, + {"cmpxchgw", cmpxchgxadd_insn, 4, SUF_W, 0xB0, 0, 0, 0, CPU_486, 0, 0}, + {"fcompp", twobyte_insn, 1, SUF_Z, 0xDE, 0xD9, 0, 0, CPU_FPU, 0, 0}, + {"vpshab", amd_vpshift_insn, 2, SUF_Z, 0x98, 0, 0, 0, CPU_XOP, 0, 0}, + {"vaddpd", xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x58, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vcvtsi2ssq", cvt_xmm_rmx_insn, 6, SUF_Q, 0xF3, 0x2A, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"clc", onebyte_insn, 1, SUF_Z, 0xF8, 0, 0, 0, 0, 0, 0}, + {"cmovlw", cmovcc_insn, 3, SUF_W, 0x0C, 0, 0, 0, CPU_686, 0, 0}, + {"lgdt", twobytemem_insn, 1, SUF_Z, 0x02, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0}, + {"getsec", twobyte_insn, 1, SUF_Z, 0x0F, 0x37, 0, 0, CPU_SMX, 0, 0}, + {"blsrl", vex_gpr_ndd_rm_0F38_regext_insn, 2, SUF_L, 0x00, 0xF3, 0x01, ONLY_AVX, CPU_BMI1, 0, 0}, + {"vpsignb", ssse3_insn, 5, SUF_Z, 0x08, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"pblendw", sse4imm_insn, 2, SUF_Z, 0x0E, 0, 0, 0, CPU_SSE41, 0, 0}, + {"vmovlhps", movhllhps_insn, 2, SUF_Z, 0x16, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"svdc", svdc_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_486, CPU_Cyrix, CPU_SMM}, + {"vmovlpd", movhlp_insn, 3, SUF_Z, 0x66, 0x12, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vdppd", sse4imm_insn, 2, SUF_Z, 0x41, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"xbegin", tsx_xbegin_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_386, CPU_TSX, 0}, + {"sldtq", sldtmsw_insn, 6, SUF_Q, 0x00, 0x00, 0, ONLY_64, CPU_286, 0, 0}, + {"vpcmpeqb", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x74, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"cmpnless", ssecmp_32_insn, 4, SUF_Z, 0x06, 0xF3, 0, 0, CPU_SSE, 0, 0}, + {"fprem1", twobyte_insn, 1, SUF_Z, 0xD9, 0xF5, 0, 0, CPU_286, CPU_FPU, 0}, + {"lssl", lfgss_insn, 3, SUF_L, 0xB2, 0, 0, 0, CPU_386, 0, 0}, + {"inw", in_insn, 12, SUF_W, 0, 0, 0, 0, 0, 0, 0}, + {"bzhiq", vex_gpr_reg_rm_nds_0F_insn, 2, SUF_Q, 0x00, 0x38, 0xF5, ONLY_64|ONLY_AVX, CPU_BMI2, 0, 0}, + {"pop", pop_insn, 23, SUF_Z, 0, 0, 0, 0, 0, 0, 0}, + {"vblendps", sse4imm_256_insn, 4, SUF_Z, 0x0C, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"flds", fld_insn, 4, SUF_S, 0, 0, 0, 0, CPU_FPU, 0, 0}, + {"movsxw", movszx_insn, 5, SUF_W, 0xBE, 0, 0, 0, CPU_386, 0, 0}, + {"movabsw", movabs_insn, 9, SUF_W, 0, 0, 0, ONLY_64, 0, 0, 0}, + {"divps", xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x5E, 0, 0, CPU_SSE, 0, 0}, + {"vpcomfalseb", vpcom_insn, 1, SUF_Z, 0xCC, 0x06, 0, 0, CPU_XOP, 0, 0}, + {"vcmpsd", cmpsd_insn, 5, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vpcmpgtq", ssse3_insn, 5, SUF_Z, 0x37, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"setbb", setcc_insn, 1, SUF_B, 0x02, 0, 0, 0, CPU_386, 0, 0}, + {"shrw", shift_insn, 16, SUF_W, 0x05, 0, 0, 0, 0, 0, 0}, + {"andpd", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x54, 0, 0, CPU_SSE2, 0, 0}, + {"vaesdeclast", aes_insn, 2, SUF_Z, 0x38, 0xDF, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"testb", test_insn, 20, SUF_B, 0, 0, 0, 0, 0, 0, 0}, + {"vfmsub231ss", vfma_ss_insn, 2, SUF_Z, 0xBB, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"rexxz", NULL, X86_REX>>8, 0x45, 0, 0, 0, ONLY_64, 0, 0, 0}, + {"cmpnlepd", ssecmp_128_insn, 3, SUF_Z, 0x06, 0x66, 0, 0, CPU_SSE, 0, 0}, + {"lidt", twobytemem_insn, 1, SUF_Z, 0x03, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0}, + {"vfmsubps", fma_128_256_insn, 4, SUF_Z, 0x6C, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0}, + {"svldt", cyrixsmm_insn, 1, SUF_Z, 0x7A, 0, 0, 0, CPU_486, CPU_Cyrix, CPU_SMM}, + {"rclw", shift_insn, 16, SUF_W, 0x02, 0, 0, 0, 0, 0, 0}, + {"vphsubbw", vphaddsub_insn, 1, SUF_Z, 0xE1, 0, 0, 0, CPU_XOP, 0, 0}, + {"vcmpnge_uqss", ssecmp_32_insn, 4, SUF_Z, 0x19, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"movswq", movszx_insn, 5, SUF_W, 0xBE, 0, 0, ONLY_64, CPU_386, 0, 0}, + {"blcic", xop_gpr_reg_rm_09_insn, 2, SUF_Z, 0x01, 0x05, 0, 0, CPU_386, CPU_TBM, 0}, + {"setns", setcc_insn, 1, SUF_Z, 0x09, 0, 0, 0, CPU_386, 0, 0}, + {"vcmpneq_oqps", ssecmp_128_insn, 3, SUF_Z, 0x0C, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"rorb", shift_insn, 16, SUF_B, 0x01, 0, 0, 0, 0, 0, 0}, + {"vpcomgtuw", vpcom_insn, 1, SUF_Z, 0xED, 0x02, 0, 0, CPU_XOP, 0, 0}, + {"vfmsubss", fma_128_m32_insn, 3, SUF_Z, 0x6E, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0}, + {"vpperm", vpperm_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_XOP, 0, 0}, + {"cmpxchg", cmpxchgxadd_insn, 4, SUF_Z, 0xB0, 0, 0, 0, CPU_486, 0, 0}, + {"setnbeb", setcc_insn, 1, SUF_B, 0x07, 0, 0, 0, CPU_386, 0, 0}, + {"vmovsd", movsd_insn, 5, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vrcpss", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x53, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"pmovzxbd", sse4m32_insn, 4, SUF_Z, 0x31, 0, 0, 0, CPU_SSE41, 0, 0}, + {"vroundpd", avx_sse4imm_insn, 3, SUF_Z, 0x09, 0, 0, ONLY_AVX, CPU_SSE41, 0, 0}, + {"popl", pop_insn, 23, SUF_L, 0, 0, 0, NOT_64, CPU_386, 0, 0}, + {"fisttpll", fildstp_insn, 4, SUF_Q, 0x07, 0, 0, 0, CPU_SSE3, 0, 0}, + {"vaddsubpd", xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0xD0, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vfmadd132ps", vfma_ps_insn, 2, SUF_Z, 0x98, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"blcfill", xop_gpr_reg_rm_09_insn, 2, SUF_Z, 0x01, 0x01, 0, 0, CPU_386, CPU_TBM, 0}, + {"vandnpd", xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x55, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"sbbb", arith_insn, 22, SUF_B, 0x18, 0x03, 0, 0, 0, 0, 0}, + {"vcmpfalseps", ssecmp_128_insn, 3, SUF_Z, 0x0B, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"popcnt", cnt_insn, 3, SUF_Z, 0xB8, 0, 0, 0, CPU_SSE42, 0, 0}, + {"vpcomnequd", vpcom_insn, 1, SUF_Z, 0xEE, 0x05, 0, 0, CPU_XOP, 0, 0}, + {"adcq", arith_insn, 22, SUF_Q, 0x10, 0x02, 0, ONLY_64, 0, 0, 0}, + {"vpcomequw", vpcom_insn, 1, SUF_Z, 0xED, 0x04, 0, 0, CPU_XOP, 0, 0}, + {"prefetcht1", twobytemem_insn, 1, SUF_Z, 0x02, 0x0F, 0x18, 0, CPU_P3, 0, 0}, + {"movdqa", movau_insn, 6, SUF_Z, 0x66, 0x6F, 0x10, 0, CPU_SSE2, 0, 0}, + {"vmovq", vmovq_insn, 5, SUF_Z, 0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"cmpxchg16b", cmpxchg16b_insn, 1, SUF_Z, 0, 0, 0, ONLY_64, 0, 0, 0}, + {"smovq", onebyte_insn, 1, SUF_Z, 0xA5, 0x40, 0, ONLY_64, 0, 0, 0}, + {"fildq", fildstp_insn, 4, SUF_Q, 0x00, 0x02, 0x05, 0, CPU_FPU, 0, 0}, + {"ficoml", fiarith_insn, 2, SUF_L, 0x02, 0xDA, 0, 0, CPU_FPU, 0, 0}, + {"cmovae", cmovcc_insn, 3, SUF_Z, 0x03, 0, 0, 0, CPU_686, 0, 0}, + {"vaddsd", xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x58, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"movb", mov_insn, 69, SUF_B, 0, 0, 0, 0, 0, 0, 0}, + {"fist", fiarith_insn, 2, SUF_Z, 0x02, 0xDB, 0, 0, CPU_FPU, 0, 0}, + {"vpcomb", vpcom_imm_insn, 1, SUF_Z, 0xCC, 0, 0, 0, CPU_XOP, 0, 0}, + {"vcmpneq_oqss", ssecmp_32_insn, 4, SUF_Z, 0x0C, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"xorpd", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x57, 0, 0, CPU_SSE2, 0, 0}, + {"cmpsd", cmpsd_insn, 5, SUF_Z, 0, 0, 0, 0, 0, 0, 0}, + {"movabs", movabs_insn, 9, SUF_Z, 0, 0, 0, ONLY_64, 0, 0, 0}, + {"jrcxz", jcxz_insn, 2, SUF_Z, 0x40, 0, 0, ONLY_64, 0, 0, 0}, + {"vmovhpd", movhlp_insn, 3, SUF_Z, 0x66, 0x16, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"cmovpq", cmovcc_insn, 3, SUF_Q, 0x0A, 0, 0, ONLY_64, CPU_686, 0, 0}, + {"vpsubw", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xF9, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"smovl", onebyte_insn, 1, SUF_Z, 0xA5, 0x20, 0, 0, CPU_386, 0, 0}, + {"and", arith_insn, 22, SUF_Z, 0x20, 0x04, 0, 0, 0, 0, 0}, + {"andw", arith_insn, 22, SUF_W, 0x20, 0x04, 0, 0, 0, 0, 0}, + {"cmpleps", ssecmp_128_insn, 3, SUF_Z, 0x02, 0, 0, 0, CPU_SSE, 0, 0}, + {"vpmovzxdq", sse4m64_insn, 4, SUF_Z, 0x35, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"subss", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x5C, 0, 0, CPU_SSE, 0, 0}, + {"vpcomtrueq", vpcom_insn, 1, SUF_Z, 0xCF, 0x07, 0, 0, CPU_XOP, 0, 0}, + {"fldl2e", twobyte_insn, 1, SUF_Z, 0xD9, 0xEA, 0, 0, CPU_FPU, 0, 0}, + {"negw", f6_insn, 4, SUF_W, 0x03, 0, 0, 0, 0, 0, 0}, + {"fidivl", fiarith_insn, 2, SUF_L, 0x06, 0xDA, 0, 0, CPU_FPU, 0, 0}, + {"setnc", setcc_insn, 1, SUF_Z, 0x03, 0, 0, 0, CPU_386, 0, 0}, + {"clts", twobyte_insn, 1, SUF_Z, 0x0F, 0x06, 0, 0, CPU_286, CPU_Priv, 0}, + {"vcmpgtps", ssecmp_128_insn, 3, SUF_Z, 0x0E, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"setnl", setcc_insn, 1, SUF_Z, 0x0D, 0, 0, 0, CPU_386, 0, 0}, + {"vphaddd", ssse3_insn, 5, SUF_Z, 0x02, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vpcomneub", vpcom_insn, 1, SUF_Z, 0xEC, 0x05, 0, 0, CPU_XOP, 0, 0}, + {"cmp", arith_insn, 22, SUF_Z, 0x38, 0x07, 0, 0, 0, 0, 0}, + {"fstsww", fstsw_insn, 2, SUF_W, 0, 0, 0, 0, CPU_FPU, 0, 0}, + {"cmpordpd", ssecmp_128_insn, 3, SUF_Z, 0x07, 0x66, 0, 0, CPU_SSE, 0, 0}, + {"punpckhbw", mmxsse2_insn, 2, SUF_Z, 0x68, 0, 0, 0, CPU_MMX, 0, 0}, + {"svts", cyrixsmm_insn, 1, SUF_Z, 0x7C, 0, 0, 0, CPU_486, CPU_Cyrix, CPU_SMM}, + {"cmpq", arith_insn, 22, SUF_Q, 0x38, 0x07, 0, ONLY_64, 0, 0, 0}, + {"cmovbq", cmovcc_insn, 3, SUF_Q, 0x02, 0, 0, ONLY_64, CPU_686, 0, 0}, + {"ficomp", fiarith_insn, 2, SUF_Z, 0x03, 0xDA, 0, 0, CPU_FPU, 0, 0}, + {"vmmcall", threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xD9, 0, CPU_SVM, 0, 0}, + {"cqo", onebyte_insn, 1, SUF_Z, 0x99, 0x40, 0, ONLY_64, 0, 0, 0}, + {"vcmpnlepd", ssecmp_128_insn, 3, SUF_Z, 0x06, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"setnb", setcc_insn, 1, SUF_Z, 0x03, 0, 0, 0, CPU_386, 0, 0}, + {"vpsllvd", vpshiftv_vexw0_avx2_insn, 2, SUF_Z, 0x47, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, + {"vcmplt_oqpd", ssecmp_128_insn, 3, SUF_Z, 0x11, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"pextrw", pextrw_insn, 7, SUF_Z, 0, 0, 0, 0, CPU_MMX, CPU_P3, 0}, + {"loopzl", loopl_insn, 4, SUF_Z, 0x01, 0x20, 0, 0, 0, 0, 0}, + {"retq", retnf_insn, 6, SUF_Z, 0xC2, 0, 0, ONLY_64, 0, 0, 0}, + {"vcmpordsd", ssecmp_64_insn, 4, SUF_Z, 0x07, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"seteb", setcc_insn, 1, SUF_B, 0x04, 0, 0, 0, CPU_386, 0, 0}, + {"vmxoff", threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xC4, 0, CPU_P4, 0, 0}, + {"pfcmpeq", now3d_insn, 1, SUF_Z, 0xB0, 0, 0, 0, CPU_3DNow, 0, 0}, + {"pmovsxbq", sse4m16_insn, 4, SUF_Z, 0x22, 0, 0, 0, CPU_SSE41, 0, 0}, + {"vfnmadd231ss", vfma_ss_insn, 2, SUF_Z, 0xBD, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"loopel", loopl_insn, 4, SUF_Z, 0x01, 0x20, 0, 0, 0, 0, 0}, + {"pause", onebyte_prefix_insn, 1, SUF_Z, 0xF3, 0x90, 0, 0, CPU_P4, 0, 0}, + {"addps", xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x58, 0, 0, CPU_SSE, 0, 0}, + {"vcmpfalse_ossd", ssecmp_64_insn, 4, SUF_Z, 0x1B, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"rcr", shift_insn, 16, SUF_Z, 0x03, 0, 0, 0, 0, 0, 0}, + {"vfmadd213pd", vfma_pd_insn, 2, SUF_Z, 0xA8, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"xchg", xchg_insn, 16, SUF_Z, 0, 0, 0, 0, 0, 0, 0}, + {"ucomiss", xmm_xmm32_insn, 4, SUF_Z, 0x00, 0x2E, 0, 0, CPU_SSE, 0, 0}, + {"popq", pop_insn, 23, SUF_Q, 0, 0, 0, ONLY_64, 0, 0, 0}, + {"lfsq", lfgss_insn, 3, SUF_Q, 0xB4, 0, 0, ONLY_64, CPU_386, 0, 0}, + {"vcmpneq_usss", ssecmp_32_insn, 4, SUF_Z, 0x14, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"crc32w", crc32_insn, 5, SUF_W, 0, 0, 0, 0, CPU_386, CPU_SSE42, 0}, + {"setngeb", setcc_insn, 1, SUF_B, 0x0C, 0, 0, 0, CPU_386, 0, 0}, + {"vpalignr", sse4imm_256avx2_insn, 4, SUF_Z, 0x0F, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vpcomtrueuq", vpcom_insn, 1, SUF_Z, 0xEF, 0x07, 0, 0, CPU_XOP, 0, 0}, + {"pinsrb", pinsrb_insn, 4, SUF_Z, 0, 0, 0, 0, CPU_SSE41, 0, 0}, + {"movshdup", xmm_xmm128_insn, 2, SUF_Z, 0xF3, 0x16, 0, 0, CPU_SSE3, 0, 0}, + {"cmovll", cmovcc_insn, 3, SUF_L, 0x0C, 0, 0, 0, CPU_686, 0, 0}, + {"vpextrd", pextrd_insn, 1, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"lgdtl", twobytemem_insn, 1, SUF_L, 0x02, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0}, + {"vpblendvb", avx2_sse4xmm0_insn, 2, SUF_Z, 0x4C, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, + {"setlb", setcc_insn, 1, SUF_B, 0x0C, 0, 0, 0, CPU_386, 0, 0}, + {"vfmsubadd213ps", vfma_ps_insn, 2, SUF_Z, 0xA7, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"unpckhpd", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x15, 0, 0, CPU_SSE2, 0, 0}, + {"vpcomfalseud", vpcom_insn, 1, SUF_Z, 0xEE, 0x06, 0, 0, CPU_XOP, 0, 0}, + {"cmovnlq", cmovcc_insn, 3, SUF_Q, 0x0D, 0, 0, ONLY_64, CPU_686, 0, 0}, + {"cmovge", cmovcc_insn, 3, SUF_Z, 0x0D, 0, 0, 0, CPU_686, 0, 0}, + {"movabsb", movabs_insn, 9, SUF_B, 0, 0, 0, ONLY_64, 0, 0, 0}, + {"popa", onebyte_insn, 1, SUF_Z, 0x61, 0x00, 0, NOT_64, CPU_186, 0, 0}, + {"invvpid", eptvpid_insn, 2, SUF_Z, 0x01, 0, 0, 0, CPU_386, CPU_EPTVPID, 0}, + {"vpcomneud", vpcom_insn, 1, SUF_Z, 0xEE, 0x05, 0, 0, CPU_XOP, 0, 0}, + {"blsrq", vex_gpr_ndd_rm_0F38_regext_insn, 2, SUF_Q, 0x00, 0xF3, 0x01, ONLY_64|ONLY_AVX, CPU_BMI1, 0, 0}, + {"ljmpl", ljmpcall_insn, 7, SUF_L, 0x05, 0xEA, 0, 0, CPU_386, 0, 0}, + {"movzx", movszx_insn, 5, SUF_Z, 0xB6, 0, 0, 0, CPU_386, 0, 0}, + {"pi2fd", now3d_insn, 1, SUF_Z, 0x0D, 0, 0, 0, CPU_3DNow, 0, 0}, + {"setng", setcc_insn, 1, SUF_Z, 0x0E, 0, 0, 0, CPU_386, 0, 0}, + {"vpcomfalsed", vpcom_insn, 1, SUF_Z, 0xCE, 0x06, 0, 0, CPU_XOP, 0, 0}, + {"vpabsb", avx2_ssse3_2op_insn, 2, SUF_Z, 0x1C, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vcmpgesd", ssecmp_64_insn, 4, SUF_Z, 0x0D, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vfnmaddsd", fma_128_m64_insn, 3, SUF_Z, 0x7B, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0}, + {"rdgsbase", fs_gs_base_insn, 2, SUF_Z, 0x01, 0, 0, ONLY_64, CPU_FSGSBASE, 0, 0}, + {"testl", test_insn, 20, SUF_L, 0, 0, 0, 0, CPU_386, 0, 0}, + {"vsubsd", xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x5C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"shrxl", vex_gpr_reg_rm_nds_0F_insn, 2, SUF_L, 0xF2, 0x38, 0xF7, ONLY_AVX, CPU_BMI2, 0, 0}, + {"enter", enter_insn, 3, SUF_Z, 0, 0, 0, 0, CPU_186, 0, 0}, + {"vpmacsdqh", vpma_insn, 1, SUF_Z, 0x9F, 0, 0, 0, CPU_XOP, 0, 0}, + {"vfnmadd213ss", vfma_ss_insn, 2, SUF_Z, 0xAD, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"setaeb", setcc_insn, 1, SUF_B, 0x03, 0, 0, 0, CPU_386, 0, 0}, + {"vpgatherdq", gather_64x_64x_insn, 2, SUF_Z, 0x90, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, + {"cmpxchg8b", cmpxchg8b_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_586, 0, 0}, + {"cvttps2pi", cvt_mm_xmm64_insn, 2, SUF_Z, 0x2C, 0, 0, 0, CPU_SSE, 0, 0}, + {"pmovmskb", pmovmskb_insn, 6, SUF_Z, 0, 0, 0, 0, CPU_MMX, CPU_P3, 0}, + {"fdivp", farithp_insn, 3, SUF_Z, 0xF0, 0, 0, 0, CPU_FPU, 0, 0}, + {"vcmpnle_uqsd", ssecmp_64_insn, 4, SUF_Z, 0x16, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"cvtsd2si", cvt_rx_xmm64_insn, 4, SUF_Z, 0xF2, 0x2D, 0, 0, CPU_386, CPU_SSE2, 0}, + {"vpcomgeq", vpcom_insn, 1, SUF_Z, 0xCF, 0x03, 0, 0, CPU_XOP, 0, 0}, + {"vfnmadd132ss", vfma_ss_insn, 2, SUF_Z, 0x9D, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"vpmacssdql", vpma_insn, 1, SUF_Z, 0x87, 0, 0, 0, CPU_XOP, 0, 0}, + {"vpunpcklqdq", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x6C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"sysenter", twobyte_insn, 1, SUF_Z, 0x0F, 0x34, 0, NOT_64, CPU_686, 0, 0}, + {"popw", pop_insn, 23, SUF_W, 0, 0, 0, 0, 0, 0, 0}, + {"lodsw", onebyte_insn, 1, SUF_Z, 0xAD, 0x10, 0, 0, 0, 0, 0}, + {"vcmpgt_oqps", ssecmp_128_insn, 3, SUF_Z, 0x1E, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"pmovmskbl", pmovmskb_insn, 6, SUF_L, 0, 0, 0, 0, CPU_MMX, CPU_P3, 0}, + {"pinsrq", pinsrq_insn, 2, SUF_Z, 0, 0, 0, ONLY_64, CPU_SSE41, 0, 0}, + {"movsl", onebyte_insn, 1, SUF_Z, 0xA5, 0x20, 0, 0, CPU_386, 0, 0}, + {"vcmptrue_usps", ssecmp_128_insn, 3, SUF_Z, 0x1F, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"addr64", NULL, X86_ADDRSIZE>>8, 0x40, 0, 0, 0, ONLY_64, 0, 0, 0}, + {"fsin", twobyte_insn, 1, SUF_Z, 0xD9, 0xFE, 0, 0, CPU_286, CPU_FPU, 0}, + {"adoxl", vex_gpr_ndd_rm_0F38_insn, 2, SUF_L, 0xF3, 0xF6, 0, 0, CPU_ADX, 0, 0}, + {"vpcomnequq", vpcom_insn, 1, SUF_Z, 0xEF, 0x05, 0, 0, CPU_XOP, 0, 0}, + {"pfmax", now3d_insn, 1, SUF_Z, 0xA4, 0, 0, 0, CPU_3DNow, 0, 0}, + {"pfcmpge", now3d_insn, 1, SUF_Z, 0x90, 0, 0, 0, CPU_3DNow, 0, 0}, + {"loopnz", loop_insn, 8, SUF_Z, 0x00, 0, 0, 0, 0, 0, 0}, + {"vcmpnle_uqss", ssecmp_32_insn, 4, SUF_Z, 0x16, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"setpeb", setcc_insn, 1, SUF_B, 0x0A, 0, 0, 0, CPU_386, 0, 0}, + {"vextractps", extractps_insn, 2, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"jc", jcc_insn, 9, SUF_Z, 0x02, 0, 0, 0, 0, 0, 0}, + {"vpcomltq", vpcom_insn, 1, SUF_Z, 0xCF, 0x00, 0, 0, CPU_XOP, 0, 0}, + {"vfmsubsd", fma_128_m64_insn, 3, SUF_Z, 0x6F, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0}, + {"movmskpd", movmsk_insn, 4, SUF_Z, 0x66, 0, 0, 0, CPU_SSE2, 0, 0}, + {"vfmsubadd231ps", vfma_ps_insn, 2, SUF_Z, 0xB7, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"vcmpeq_usps", ssecmp_128_insn, 3, SUF_Z, 0x18, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"fistpl", fildstp_insn, 4, SUF_L, 0x03, 0x02, 0x07, 0, CPU_FPU, 0, 0}, + {"fistpll", fbldstp_insn, 1, SUF_Z, 0x07, 0, 0, 0, CPU_FPU, 0, 0}, + {"jnbe", jcc_insn, 9, SUF_Z, 0x07, 0, 0, 0, 0, 0, 0}, + {"pmovsxwq", sse4m32_insn, 4, SUF_Z, 0x24, 0, 0, 0, CPU_SSE41, 0, 0}, + {"vpcomgtub", vpcom_insn, 1, SUF_Z, 0xEC, 0x02, 0, 0, CPU_XOP, 0, 0}, + {"unpcklps", xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x14, 0, 0, CPU_SSE, 0, 0}, + {"btr", bittest_insn, 6, SUF_Z, 0xB3, 0x06, 0, 0, CPU_386, 0, 0}, + {"cmovnsw", cmovcc_insn, 3, SUF_W, 0x09, 0, 0, 0, CPU_686, 0, 0}, + {"sbbl", arith_insn, 22, SUF_L, 0x18, 0x03, 0, 0, CPU_386, 0, 0}, + {"idivq", div_insn, 8, SUF_Q, 0x07, 0, 0, ONLY_64, 0, 0, 0}, + {"strw", str_insn, 4, SUF_W, 0, 0, 0, 0, CPU_286, CPU_Prot, 0}, + {"psignw", ssse3_insn, 5, SUF_Z, 0x09, 0, 0, 0, CPU_SSSE3, 0, 0}, + {"vcvtsi2sdq", cvt_xmm_rmx_insn, 6, SUF_Q, 0xF2, 0x2A, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"setgb", setcc_insn, 1, SUF_B, 0x0F, 0, 0, 0, CPU_386, 0, 0}, + {"vpextrw", pextrw_insn, 7, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"cmoval", cmovcc_insn, 3, SUF_L, 0x07, 0, 0, 0, CPU_686, 0, 0}, + {"vpextrwq", pextrw_insn, 7, SUF_Q, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"sldtl", sldtmsw_insn, 6, SUF_L, 0x00, 0x00, 0, 0, CPU_386, 0, 0}, + {"vcmpunordss", ssecmp_32_insn, 4, SUF_Z, 0x03, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"aesenc", aes_insn, 2, SUF_Z, 0x38, 0xDC, 0, 0, CPU_AVX, 0, 0}, + {"pmaddubsw", ssse3_insn, 5, SUF_Z, 0x04, 0, 0, 0, CPU_SSSE3, 0, 0}, + {"cvtsi2ss", cvt_xmm_rmx_insn, 6, SUF_Z, 0xF3, 0x2A, 0, 0, CPU_386, CPU_SSE, 0}, + {"vphaddw", ssse3_insn, 5, SUF_Z, 0x01, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"repnz", NULL, X86_LOCKREP>>8, 0xF2, 0, 0, 0, 0, 0, 0, 0}, + {"fidivrl", fiarith_insn, 2, SUF_L, 0x07, 0xDA, 0, 0, CPU_FPU, 0, 0}, + {"fsqrt", twobyte_insn, 1, SUF_Z, 0xD9, 0xFA, 0, 0, CPU_FPU, 0, 0}, + {"fsetpm", twobyte_insn, 1, SUF_Z, 0xDB, 0xE4, 0, 0, CPU_286, CPU_FPU, CPU_Obs}, + {"insw", onebyte_insn, 1, SUF_Z, 0x6D, 0x10, 0, 0, 0, 0, 0}, + {"setbeb", setcc_insn, 1, SUF_B, 0x06, 0, 0, 0, CPU_386, 0, 0}, + {"vpsubb", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xF8, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"rex64xy", NULL, X86_REX>>8, 0x4E, 0, 0, 0, ONLY_64, 0, 0, 0}, + {"vpsrldq", pslrldq_insn, 4, SUF_Z, 0x03, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"xorq", arith_insn, 22, SUF_Q, 0x30, 0x06, 0, ONLY_64, 0, 0, 0}, + {"punpcklbw", mmxsse2_insn, 2, SUF_Z, 0x60, 0, 0, 0, CPU_MMX, 0, 0}, + {"rdtscp", threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xF9, 0, CPU_686, CPU_AMD, CPU_Priv}, + {"lfence", threebyte_insn, 1, SUF_Z, 0x0F, 0xAE, 0xE8, 0, CPU_P3, 0, 0}, + {"vpcmpestri", sse4pcmpstr_insn, 1, SUF_Z, 0x61, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"divpd", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x5E, 0, 0, CPU_SSE2, 0, 0}, + {"vcmpss", xmm_xmm32_imm_insn, 4, SUF_Z, 0xF3, 0xC2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"fidivs", fiarith_insn, 2, SUF_S, 0x06, 0xDA, 0, 0, CPU_FPU, 0, 0}, + {"pcmpeqq", sse4_insn, 2, SUF_Z, 0x29, 0, 0, 0, CPU_SSE41, 0, 0}, + {"setnbe", setcc_insn, 1, SUF_Z, 0x07, 0, 0, 0, CPU_386, 0, 0}, + {"pshufb", ssse3_insn, 5, SUF_Z, 0x00, 0, 0, 0, CPU_SSSE3, 0, 0}, + {"cmovgeq", cmovcc_insn, 3, SUF_Q, 0x0D, 0, 0, ONLY_64, CPU_686, 0, 0}, + {"vpaddq", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xD4, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"clgi", threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xDD, 0, CPU_SVM, 0, 0}, + {"rcpps", xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x53, 0, 0, CPU_SSE, 0, 0}, + {"cmovno", cmovcc_insn, 3, SUF_Z, 0x01, 0, 0, 0, CPU_686, 0, 0}, + {"addss", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x58, 0, 0, CPU_SSE, 0, 0}, + {"vcmpneqss", ssecmp_32_insn, 4, SUF_Z, 0x04, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"pavgusb", now3d_insn, 1, SUF_Z, 0xBF, 0, 0, 0, CPU_3DNow, 0, 0}, + {"vfmadd213ps", vfma_ps_insn, 2, SUF_Z, 0xA8, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"vpcomneqw", vpcom_insn, 1, SUF_Z, 0xCD, 0x05, 0, 0, CPU_XOP, 0, 0}, + {"vpmaxsb", ssse3_insn, 5, SUF_Z, 0x3C, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"pminsw", mmxsse2_insn, 2, SUF_Z, 0xEA, 0, 0, 0, CPU_MMX, CPU_P3, 0}, + {"vcmpnge_uqpd", ssecmp_128_insn, 3, SUF_Z, 0x19, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vpcomtrueud", vpcom_insn, 1, SUF_Z, 0xEE, 0x07, 0, 0, CPU_XOP, 0, 0}, + {"setpe", setcc_insn, 1, SUF_Z, 0x0A, 0, 0, 0, CPU_386, 0, 0}, + {"cmovnlw", cmovcc_insn, 3, SUF_W, 0x0D, 0, 0, 0, CPU_686, 0, 0}, + {"cbw", onebyte_insn, 1, SUF_Z, 0x98, 0x10, 0, 0, 0, 0, 0}, + {"vcmpge_oqss", ssecmp_32_insn, 4, SUF_Z, 0x1D, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"jpo", jcc_insn, 9, SUF_Z, 0x0B, 0, 0, 0, 0, 0, 0}, + {"leavel", onebyte_insn, 1, SUF_Z, 0xC9, 0x00, 0x40, 0, CPU_186, 0, 0}, + {"mpsadbw", sse4imm_insn, 2, SUF_Z, 0x42, 0, 0, 0, CPU_SSE41, 0, 0}, + {"vcvttsd2si", cvt_rx_xmm64_insn, 4, SUF_Z, 0xF2, 0x2C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vminps", xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x5D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"cmpnleps", ssecmp_128_insn, 3, SUF_Z, 0x06, 0, 0, 0, CPU_SSE, 0, 0}, + {"blendvpd", sse4xmm0_insn, 2, SUF_Z, 0x15, 0, 0, 0, CPU_SSE41, 0, 0}, + {"vaddss", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x58, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vpcomltuw", vpcom_insn, 1, SUF_Z, 0xED, 0x00, 0, 0, CPU_XOP, 0, 0}, + {"orw", arith_insn, 22, SUF_W, 0x08, 0x01, 0, 0, 0, 0, 0}, + {"adword", NULL, X86_ADDRSIZE>>8, 0x20, 0, 0, 0, 0, 0, 0, 0}, + {"vprotb", vprot_insn, 3, SUF_Z, 0x00, 0, 0, 0, CPU_XOP, 0, 0}, + {"pclmulhqhqdq", pclmulqdq_fixed_insn, 2, SUF_Z, 0x11, 0, 0, 0, CPU_AVX, 0, 0}, + {"shrdq", shlrd_insn, 9, SUF_Q, 0xAC, 0, 0, ONLY_64, CPU_386, 0, 0}, + {"vminss", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x5D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vpmaxub", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xDE, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vpcomltud", vpcom_insn, 1, SUF_Z, 0xEE, 0x00, 0, 0, CPU_XOP, 0, 0}, + {"vpaddusw", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xDD, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"movsq", onebyte_insn, 1, SUF_Z, 0xA5, 0x40, 0, ONLY_64, 0, 0, 0}, + {"subsd", xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x5C, 0, 0, CPU_SSE2, 0, 0}, + {"vfmaddsubpd", fma_128_256_insn, 4, SUF_Z, 0x5D, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0}, + {"cvtdq2ps", xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x5B, 0, 0, CPU_SSE2, 0, 0}, + {"prefetch", twobytemem_insn, 1, SUF_Z, 0x00, 0x0F, 0x0D, 0, CPU_3DNow, 0, 0}, + {"vaesenc", aes_insn, 2, SUF_Z, 0x38, 0xDC, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"shl", shift_insn, 16, SUF_Z, 0x04, 0, 0, 0, 0, 0, 0}, + {"vcmpunord_spd", ssecmp_128_insn, 3, SUF_Z, 0x13, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"bsfw", bsfr_insn, 3, SUF_W, 0xBC, 0, 0, 0, CPU_386, 0, 0}, + {"bswap", bswap_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_486, 0, 0}, + {"vfmadd231sd", vfma_sd_insn, 2, SUF_Z, 0xB9, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"fistps", fildstp_insn, 4, SUF_S, 0x03, 0x02, 0x07, 0, CPU_FPU, 0, 0}, + {"fdivs", farith_insn, 7, SUF_S, 0xF8, 0xF0, 0x06, 0, CPU_FPU, 0, 0}, + {"pextrq", pextrq_insn, 1, SUF_Z, 0, 0, 0, ONLY_64, CPU_SSE41, 0, 0}, + {"adcl", arith_insn, 22, SUF_L, 0x10, 0x02, 0, 0, CPU_386, 0, 0}, + {"vpmacsdql", vpma_insn, 1, SUF_Z, 0x97, 0, 0, 0, CPU_XOP, 0, 0}, + {"vpcomeqq", vpcom_insn, 1, SUF_Z, 0xCF, 0x04, 0, 0, CPU_XOP, 0, 0}, + {"tzmskq", xop_gpr_reg_rm_09_insn, 2, SUF_Q, 0x01, 0x04, 0, ONLY_64, CPU_TBM, 0, 0}, + {"rcl", shift_insn, 16, SUF_Z, 0x02, 0, 0, 0, 0, 0, 0}, + {"vsqrtsd", xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x51, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"cdqe", onebyte_insn, 1, SUF_Z, 0x98, 0x40, 0, ONLY_64, 0, 0, 0}, + {"negq", f6_insn, 4, SUF_Q, 0x03, 0, 0, ONLY_64, 0, 0, 0}, + {"pextrb", pextrb_insn, 3, SUF_Z, 0, 0, 0, 0, CPU_SSE41, 0, 0}, + {"movzbq", movszx_insn, 5, SUF_B, 0xB6, 0, 0, ONLY_64, CPU_386, 0, 0}, + {"vcmpngtps", ssecmp_128_insn, 3, SUF_Z, 0x0A, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vpcomgeb", vpcom_insn, 1, SUF_Z, 0xCC, 0x03, 0, 0, CPU_XOP, 0, 0}, + {"lea", lea_insn, 3, SUF_Z, 0, 0, 0, 0, 0, 0, 0}, + {"invd", twobyte_insn, 1, SUF_Z, 0x0F, 0x08, 0, 0, CPU_486, CPU_Priv, 0}, + {"sarxl", vex_gpr_reg_rm_nds_0F_insn, 2, SUF_L, 0xF3, 0x38, 0xF7, ONLY_AVX, CPU_BMI2, 0, 0}, + {"movdqu", movau_insn, 6, SUF_Z, 0xF3, 0x6F, 0x10, 0, CPU_SSE2, 0, 0}, + {"vdivsd", xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x5E, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"cmpneqpd", ssecmp_128_insn, 3, SUF_Z, 0x04, 0x66, 0, 0, CPU_SSE, 0, 0}, + {"xcryptecb", padlock_insn, 1, SUF_Z, 0xC8, 0xF3, 0xA7, 0, CPU_PadLock, 0, 0}, + {"shll", shift_insn, 16, SUF_L, 0x04, 0, 0, 0, CPU_386, 0, 0}, + {"int", int_insn, 1, SUF_Z, 0, 0, 0, 0, 0, 0, 0}, + {"wrfsbase", fs_gs_base_insn, 2, SUF_Z, 0x02, 0, 0, ONLY_64, CPU_FSGSBASE, 0, 0}, + {"shufps", xmm_xmm128_imm_insn, 1, SUF_Z, 0x00, 0xC6, 0, 0, CPU_SSE, 0, 0}, + {"subpd", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x5C, 0, 0, CPU_SSE2, 0, 0}, + {"vcvtpd2psy", avx_cvt_xmm128_y_insn, 1, SUF_Z, 0x66, 0x5A, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"cmovnew", cmovcc_insn, 3, SUF_W, 0x05, 0, 0, 0, CPU_686, 0, 0}, + {"crc32", crc32_insn, 5, SUF_Z, 0, 0, 0, 0, CPU_386, CPU_SSE42, 0}, + {"vmovapd", movau_insn, 6, SUF_Z, 0x66, 0x28, 0x01, ONLY_AVX, CPU_AVX, 0, 0}, + {"rdrand", rdrand_insn, 3, SUF_Z, 0x06, 0, 0, 0, CPU_RDRAND, 0, 0}, + {"cmovnbew", cmovcc_insn, 3, SUF_W, 0x07, 0, 0, 0, CPU_686, 0, 0}, + {"invvpidl", eptvpid_insn, 2, SUF_L, 0x01, 0, 0, NOT_64, CPU_386, CPU_EPTVPID, 0}, + {"ljmp", ljmpcall_insn, 7, SUF_Z, 0x05, 0xEA, 0, 0, 0, 0, 0}, + {"vcmpeqpd", ssecmp_128_insn, 3, SUF_Z, 0x00, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"popfl", onebyte_insn, 1, SUF_Z, 0x9D, 0x20, 0, NOT_64, CPU_386, 0, 0}, + {"wrgsbase", fs_gs_base_insn, 2, SUF_Z, 0x03, 0, 0, ONLY_64, CPU_FSGSBASE, 0, 0}, + {"lodsb", onebyte_insn, 1, SUF_Z, 0xAC, 0x00, 0, 0, 0, 0, 0}, + {"vcmpgess", ssecmp_32_insn, 4, SUF_Z, 0x0D, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"aesenclast", aes_insn, 2, SUF_Z, 0x38, 0xDD, 0, 0, CPU_AVX, 0, 0}, + {"cmovel", cmovcc_insn, 3, SUF_L, 0x04, 0, 0, 0, CPU_686, 0, 0}, + {"vpsignd", ssse3_insn, 5, SUF_Z, 0x0A, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"stosb", onebyte_insn, 1, SUF_Z, 0xAA, 0x00, 0, 0, 0, 0, 0}, + {"smovb", onebyte_insn, 1, SUF_Z, 0xA4, 0x00, 0, 0, 0, 0, 0}, + {"vcmpeqss", ssecmp_32_insn, 4, SUF_Z, 0x00, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vpandn", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xDF, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vmovmskpsl", movmsk_insn, 4, SUF_L, 0x00, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vmovntps", movnt_insn, 2, SUF_Z, 0x00, 0x2B, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vcvtpd2psx", avx_cvt_xmm128_x_insn, 1, SUF_Z, 0x66, 0x5A, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"cmpordps", ssecmp_128_insn, 3, SUF_Z, 0x07, 0, 0, 0, CPU_SSE, 0, 0}, + {"vpaddd", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xFE, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"fptan", twobyte_insn, 1, SUF_Z, 0xD9, 0xF2, 0, 0, CPU_FPU, 0, 0}, + {"shldw", shlrd_insn, 9, SUF_W, 0xA4, 0, 0, 0, CPU_386, 0, 0}, + {"outsl", onebyte_insn, 1, SUF_Z, 0x6F, 0x20, 0, 0, CPU_386, 0, 0}, + {"vmovmskpsq", movmsk_insn, 4, SUF_Q, 0x00, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"fldcw", fldnstcw_insn, 1, SUF_Z, 0x05, 0, 0, 0, CPU_FPU, 0, 0}, + {"vcmpord_ssd", ssecmp_64_insn, 4, SUF_Z, 0x17, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vfnmsub231sd", vfma_sd_insn, 2, SUF_Z, 0xBF, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"pmullw", mmxsse2_insn, 2, SUF_Z, 0xD5, 0, 0, 0, CPU_MMX, 0, 0}, + {"jno", jcc_insn, 9, SUF_Z, 0x01, 0, 0, 0, 0, 0, 0}, + {"vprotq", vprot_insn, 3, SUF_Z, 0x03, 0, 0, 0, CPU_XOP, 0, 0}, + {"vcmpneq_ospd", ssecmp_128_insn, 3, SUF_Z, 0x1C, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"sarb", shift_insn, 16, SUF_B, 0x07, 0, 0, 0, 0, 0, 0}, + {"aaa", onebyte_insn, 1, SUF_Z, 0x37, 0, 0, NOT_64, 0, 0, 0}, + {"psubd", mmxsse2_insn, 2, SUF_Z, 0xFA, 0, 0, 0, CPU_MMX, 0, 0}, + {"cmovpew", cmovcc_insn, 3, SUF_W, 0x0A, 0, 0, 0, CPU_686, 0, 0}, + {"blci", xop_gpr_reg_rm_09_insn, 2, SUF_Z, 0x02, 0x06, 0, 0, CPU_386, CPU_TBM, 0}, + {"cmpnltsd", ssecmp_64_insn, 4, SUF_Z, 0x05, 0xF2, 0, 0, CPU_SSE2, 0, 0}, + {"rex64x", NULL, X86_REX>>8, 0x4C, 0, 0, 0, ONLY_64, 0, 0, 0}, + {"blsr", vex_gpr_ndd_rm_0F38_regext_insn, 2, SUF_Z, 0x00, 0xF3, 0x01, ONLY_AVX, CPU_BMI1, 0, 0}, + {"vaeskeygenassist", aes_imm_insn, 1, SUF_Z, 0x3A, 0xDF, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"cmpnltss", ssecmp_32_insn, 4, SUF_Z, 0x05, 0xF3, 0, 0, CPU_SSE, 0, 0}, + {"cwde", onebyte_insn, 1, SUF_Z, 0x98, 0x20, 0, 0, CPU_386, 0, 0}, + {"fcmovne", fcmovcc_insn, 1, SUF_Z, 0xDB, 0xC8, 0, 0, CPU_686, CPU_FPU, 0}, + {"sscab", onebyte_insn, 1, SUF_Z, 0xAE, 0x00, 0, 0, 0, 0, 0}, + {"vphaddbq", vphaddsub_insn, 1, SUF_Z, 0xC3, 0, 0, 0, CPU_XOP, 0, 0}, + {"vcvttss2sil", cvt_rx_xmm32_insn, 4, SUF_L, 0xF3, 0x2C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"roundsd", sse4m64imm_insn, 4, SUF_Z, 0x0B, 0, 0, 0, CPU_SSE41, 0, 0}, + {"pfacc", now3d_insn, 1, SUF_Z, 0xAE, 0, 0, 0, CPU_3DNow, 0, 0}, + {"fsubl", farith_insn, 7, SUF_L, 0xE8, 0xE0, 0x04, 0, CPU_FPU, 0, 0}, + {"invlpg", twobytemem_insn, 1, SUF_Z, 0x07, 0x0F, 0x01, 0, CPU_486, CPU_Priv, 0}, + {"pextl", vex_gpr_reg_nds_rm_0F_insn, 2, SUF_L, 0xF3, 0x38, 0xF5, ONLY_AVX, CPU_BMI2, 0, 0}, + {"fldenvl", onebytemem_insn, 1, SUF_L, 0x04, 0xD9, 0, 0, CPU_FPU, 0, 0}, + {"lretq", retnf_insn, 6, SUF_Q, 0xCA, 0x40, 0, ONLY_64, 0, 0, 0}, + {"addr16", NULL, X86_ADDRSIZE>>8, 0x10, 0, 0, 0, 0, 0, 0, 0}, + {"cmovncl", cmovcc_insn, 3, SUF_L, 0x03, 0, 0, 0, CPU_686, 0, 0}, + {"movzbw", movszx_insn, 5, SUF_B, 0xB6, 0, 0, 0, CPU_386, 0, 0}, + {"pmvlzb", cyrixmmx_insn, 1, SUF_Z, 0x5B, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0}, + {"boundw", bound_insn, 2, SUF_W, 0, 0, 0, NOT_64, CPU_186, 0, 0}, + {"vroundsd", sse4m64imm_insn, 4, SUF_Z, 0x0B, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"loopz", loop_insn, 8, SUF_Z, 0x01, 0, 0, 0, 0, 0, 0}, + {"roundpd", sse4imm_insn, 2, SUF_Z, 0x09, 0, 0, 0, CPU_SSE41, 0, 0}, + {"sfence", threebyte_insn, 1, SUF_Z, 0x0F, 0xAE, 0xF8, 0, CPU_P3, 0, 0}, + {"vpcomgew", vpcom_insn, 1, SUF_Z, 0xCD, 0x03, 0, 0, CPU_XOP, 0, 0}, + {"vpcmpistrm", sse4pcmpstr_insn, 1, SUF_Z, 0x62, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"repz", NULL, X86_LOCKREP>>8, 0xF3, 0, 0, 0, 0, 0, 0, 0}, + {"iretq", onebyte_insn, 1, SUF_Z, 0xCF, 0x40, 0, ONLY_64, 0, 0, 0}, + {"pclmullqhqdq", pclmulqdq_fixed_insn, 2, SUF_Z, 0x10, 0, 0, 0, CPU_AVX, 0, 0}, + {"vcmplt_oqss", ssecmp_32_insn, 4, SUF_Z, 0x11, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vcmpeq_osps", ssecmp_128_insn, 3, SUF_Z, 0x10, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"cmpw", arith_insn, 22, SUF_W, 0x38, 0x07, 0, 0, 0, 0, 0}, + {"adox", vex_gpr_ndd_rm_0F38_insn, 2, SUF_Z, 0xF3, 0xF6, 0, 0, CPU_ADX, 0, 0}, + {"rexyz", NULL, X86_REX>>8, 0x43, 0, 0, 0, ONLY_64, 0, 0, 0}, + {"rorxq", vex_gpr_reg_rm_0F_imm8_insn, 2, SUF_Q, 0xF2, 0x3A, 0xF0, ONLY_64|ONLY_AVX, CPU_BMI2, 0, 0}, + {"movsxb", movszx_insn, 5, SUF_B, 0xBE, 0, 0, 0, CPU_386, 0, 0}, + {"paddsw", mmxsse2_insn, 2, SUF_Z, 0xED, 0, 0, 0, CPU_MMX, 0, 0}, + {"lldtw", prot286_insn, 1, SUF_W, 0x02, 0x00, 0, 0, CPU_286, CPU_Priv, CPU_Prot}, + {"vpcomneuw", vpcom_insn, 1, SUF_Z, 0xED, 0x05, 0, 0, CPU_XOP, 0, 0}, + {"vcmpnlesd", ssecmp_64_insn, 4, SUF_Z, 0x06, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vfrczss", vfrczss_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_XOP, 0, 0}, + {"movw", mov_insn, 69, SUF_W, 0, 0, 0, 0, 0, 0, 0}, + {"crc32q", crc32_insn, 5, SUF_Q, 0, 0, 0, ONLY_64, CPU_SSE42, 0, 0}, + {"vextracti128", vextractif128_insn, 1, SUF_Z, 0x39, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, + {"subps", xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x5C, 0, 0, CPU_SSE, 0, 0}, + {"inb", in_insn, 12, SUF_B, 0, 0, 0, 0, 0, 0, 0}, + {"vfnmsub231ps", vfma_ps_insn, 2, SUF_Z, 0xBE, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"vphaddubw", vphaddsub_insn, 1, SUF_Z, 0xD1, 0, 0, 0, CPU_XOP, 0, 0}, + {"pmachriw", pmachriw_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0}, + {"vmpsadbw", sse4imm_256avx2_insn, 4, SUF_Z, 0x42, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"cmovngew", cmovcc_insn, 3, SUF_W, 0x0C, 0, 0, 0, CPU_686, 0, 0}, + {"popcntq", cnt_insn, 3, SUF_Q, 0xB8, 0, 0, ONLY_64, CPU_SSE42, 0, 0}, + {"insertps", insertps_insn, 4, SUF_Z, 0, 0, 0, 0, CPU_SSE41, 0, 0}, + {"cmpxchgl", cmpxchgxadd_insn, 4, SUF_L, 0xB0, 0, 0, 0, CPU_486, 0, 0}, + {"vcomiss", avx_xmm_xmm32_insn, 2, SUF_Z, 0x00, 0x2F, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vpcmpgtd", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"loopzw", loopw_insn, 4, SUF_Z, 0x01, 0x10, 0, NOT_64, 0, 0, 0}, + {"retw", retnf_insn, 6, SUF_Z, 0xC2, 0x10, 0, 0, 0, 0, 0}, + {"pavgb", mmxsse2_insn, 2, SUF_Z, 0xE0, 0, 0, 0, CPU_MMX, CPU_P3, 0}, + {"loopnel", loopl_insn, 4, SUF_Z, 0x00, 0x20, 0, 0, 0, 0, 0}, + {"vpsrld", vpshift_insn, 8, SUF_Z, 0xD2, 0x72, 0x02, ONLY_AVX, CPU_AVX, 0, 0}, + {"vcvtpd2dqx", avx_cvt_xmm128_x_insn, 1, SUF_Z, 0xF2, 0xE6, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"ficomps", fiarith_insn, 2, SUF_S, 0x03, 0xDA, 0, 0, CPU_FPU, 0, 0}, + {"fisttps", fildstp_insn, 4, SUF_S, 0x01, 0x00, 0x01, 0, CPU_SSE3, 0, 0}, + {"vandpd", xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x54, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"haddpd", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x7C, 0, 0, CPU_SSE3, 0, 0}, + {"bsfl", bsfr_insn, 3, SUF_L, 0xBC, 0, 0, 0, CPU_386, 0, 0}, + {"rolq", shift_insn, 16, SUF_Q, 0x00, 0, 0, ONLY_64, 0, 0, 0}, + {"vcmpneq_ussd", ssecmp_64_insn, 4, SUF_Z, 0x14, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"pinsrwl", pinsrw_insn, 9, SUF_L, 0, 0, 0, 0, CPU_MMX, CPU_P3, 0}, + {"pmovzxwd", sse4m64_insn, 4, SUF_Z, 0x33, 0, 0, 0, CPU_SSE41, 0, 0}, + {"vcmpgt_oqsd", ssecmp_64_insn, 4, SUF_Z, 0x1E, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"pslld", pshift_insn, 4, SUF_Z, 0xF2, 0x72, 0x06, 0, CPU_MMX, 0, 0}, + {"bextr", bextr_insn, 4, SUF_Z, 0, 0, 0, ONLY_AVX, CPU_386, CPU_BMI1, 0}, + {"movsbl", movszx_insn, 5, SUF_B, 0xBE, 0, 0, 0, CPU_386, 0, 0}, + {"vpcomuq", vpcom_imm_insn, 1, SUF_Z, 0xEF, 0, 0, 0, CPU_XOP, 0, 0}, + {"pcmpestrm", sse4pcmpstr_insn, 1, SUF_Z, 0x60, 0, 0, 0, CPU_SSE42, 0, 0}, + {"pfcmpgt", now3d_insn, 1, SUF_Z, 0xA0, 0, 0, 0, CPU_3DNow, 0, 0}, + {"ltrw", prot286_insn, 1, SUF_W, 0x03, 0x00, 0, 0, CPU_286, CPU_Priv, CPU_Prot}, + {"paddusw", mmxsse2_insn, 2, SUF_Z, 0xDD, 0, 0, 0, CPU_MMX, 0, 0}, + {"vpmacsswd", vpma_insn, 1, SUF_Z, 0x86, 0, 0, 0, CPU_XOP, 0, 0}, + {"vfnmsubsd", fma_128_m64_insn, 3, SUF_Z, 0x7F, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0}, + {"loopew", loopw_insn, 4, SUF_Z, 0x01, 0x10, 0, NOT_64, 0, 0, 0}, + {"vmaskmovdqu", maskmovdqu_insn, 1, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"cvtsi2sdq", cvt_xmm_rmx_insn, 6, SUF_Q, 0xF2, 0x2A, 0, ONLY_64, CPU_SSE2, 0, 0}, + {"fisubs", fiarith_insn, 2, SUF_S, 0x04, 0xDA, 0, 0, CPU_FPU, 0, 0}, + {"cmpeqss", ssecmp_32_insn, 4, SUF_Z, 0x00, 0xF3, 0, 0, CPU_SSE, 0, 0}, + {"cqto", onebyte_insn, 1, SUF_Z, 0x99, 0x40, 0, ONLY_64, 0, 0, 0}, + {"vcmpunordpd", ssecmp_128_insn, 3, SUF_Z, 0x03, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"setna", setcc_insn, 1, SUF_Z, 0x06, 0, 0, 0, CPU_386, 0, 0}, + {"cvtdq2pd", xmm_xmm64_insn, 4, SUF_Z, 0xF3, 0xE6, 0, 0, CPU_SSE2, 0, 0}, + {"andnpd", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x55, 0, 0, CPU_SSE2, 0, 0}, + {"vcmpeq_uqps", ssecmp_128_insn, 3, SUF_Z, 0x08, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vcvtsi2ss", cvt_xmm_rmx_insn, 6, SUF_Z, 0xF3, 0x2A, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"psrld", pshift_insn, 4, SUF_Z, 0xD2, 0x72, 0x02, 0, CPU_MMX, 0, 0}, + {"outl", out_insn, 12, SUF_L, 0, 0, 0, 0, CPU_386, 0, 0}, + {"vcvttss2siq", cvt_rx_xmm32_insn, 4, SUF_Q, 0xF3, 0x2C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"paddq", mmxsse2_insn, 2, SUF_Z, 0xD4, 0, 0, 0, CPU_MMX, 0, 0}, + {"cmpneqss", ssecmp_32_insn, 4, SUF_Z, 0x04, 0xF3, 0, 0, CPU_SSE, 0, 0}, + {"vfrczsd", vfrczsd_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_XOP, 0, 0}, + {"xsaveopt64", xsaveopt64_insn, 1, SUF_Z, 0x06, 0x0F, 0xAE, ONLY_64, CPU_XSAVEOPT, 0, 0}, + {"fnstsww", fnstsw_insn, 2, SUF_W, 0, 0, 0, 0, CPU_FPU, 0, 0}, + {"vfmaddss", fma_128_m32_insn, 3, SUF_Z, 0x6A, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0}, + {"fsubs", farith_insn, 7, SUF_S, 0xE8, 0xE0, 0x04, 0, CPU_FPU, 0, 0}, + {"vpshufd", xmm_xmm128_imm_256avx2_insn, 2, SUF_Z, 0x66, 0x70, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"fstpl", fstp_insn, 4, SUF_L, 0, 0, 0, 0, CPU_FPU, 0, 0}, + {"vcmpeq_ussd", ssecmp_64_insn, 4, SUF_Z, 0x18, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"jle", jcc_insn, 9, SUF_Z, 0x0E, 0, 0, 0, 0, 0, 0}, + {"sidtq", twobytemem_insn, 1, SUF_Q, 0x01, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0}, + {"vpshlb", amd_vpshift_insn, 2, SUF_Z, 0x94, 0, 0, 0, CPU_XOP, 0, 0}, + {"pinsrwq", pinsrw_insn, 9, SUF_Q, 0, 0, 0, ONLY_64, CPU_MMX, CPU_P3, 0}, + {"js", jcc_insn, 9, SUF_Z, 0x08, 0, 0, 0, 0, 0, 0}, + {"andnq", vex_gpr_reg_nds_rm_0F_insn, 2, SUF_Q, 0x00, 0x38, 0xF2, ONLY_64|ONLY_AVX, CPU_BMI1, 0, 0}, + {"cmpsl", onebyte_insn, 1, SUF_Z, 0xA7, 0x20, 0, 0, CPU_386, 0, 0}, + {"vmovlps", movhlp_insn, 3, SUF_Z, 0x00, 0x12, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"pabsd", ssse3_insn, 5, SUF_Z, 0x1E, 0, 0, 0, CPU_SSSE3, 0, 0}, + {"vpcomequd", vpcom_insn, 1, SUF_Z, 0xEE, 0x04, 0, 0, CPU_XOP, 0, 0}, + {"salw", shift_insn, 16, SUF_W, 0x04, 0, 0, 0, 0, 0, 0}, + {"movntss", movntss_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SSE4a, 0, 0}, + {"movlhps", movhllhps_insn, 2, SUF_Z, 0x16, 0, 0, 0, CPU_SSE, 0, 0}, + {"vcmpltps", ssecmp_128_insn, 3, SUF_Z, 0x01, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"cmovoq", cmovcc_insn, 3, SUF_Q, 0x00, 0, 0, ONLY_64, CPU_686, 0, 0}, + {"rex64xz", NULL, X86_REX>>8, 0x4D, 0, 0, 0, ONLY_64, 0, 0, 0}, + {"vfmsubadd132ps", vfma_ps_insn, 2, SUF_Z, 0x97, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"vcmplt_oqsd", ssecmp_64_insn, 4, SUF_Z, 0x11, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"cmovnzl", cmovcc_insn, 3, SUF_L, 0x05, 0, 0, 0, CPU_686, 0, 0}, + {"cvttss2sil", cvt_rx_xmm32_insn, 4, SUF_L, 0xF3, 0x2C, 0, 0, CPU_386, CPU_SSE, 0}, + {"pand", mmxsse2_insn, 2, SUF_Z, 0xDB, 0, 0, 0, CPU_MMX, 0, 0}, + {"packuswb", mmxsse2_insn, 2, SUF_Z, 0x67, 0, 0, 0, CPU_MMX, 0, 0}, + {"rcrw", shift_insn, 16, SUF_W, 0x03, 0, 0, 0, 0, 0, 0}, + {"loadall", twobyte_insn, 1, SUF_Z, 0x0F, 0x07, 0, 0, CPU_386, CPU_Undoc, 0}, + {"vprotd", vprot_insn, 3, SUF_Z, 0x02, 0, 0, 0, CPU_XOP, 0, 0}, + {"popcntl", cnt_insn, 3, SUF_L, 0xB8, 0, 0, 0, CPU_SSE42, 0, 0}, + {"xsave", twobytemem_insn, 1, SUF_Z, 0x04, 0x0F, 0xAE, 0, CPU_386, CPU_XSAVE, 0}, + {"addq", arith_insn, 22, SUF_Q, 0x00, 0x00, 0, ONLY_64, 0, 0, 0}, + {"fldlg2", twobyte_insn, 1, SUF_Z, 0xD9, 0xEC, 0, 0, CPU_FPU, 0, 0}, + {"fwait", onebyte_insn, 1, SUF_Z, 0x9B, 0, 0, 0, CPU_FPU, 0, 0}, + {"cvtsi2sdl", cvt_xmm_rmx_insn, 6, SUF_L, 0xF2, 0x2A, 0, 0, CPU_SSE2, 0, 0}, + {"cmovl", cmovcc_insn, 3, SUF_Z, 0x0C, 0, 0, 0, CPU_686, 0, 0}, + {"rol", shift_insn, 16, SUF_Z, 0x00, 0, 0, 0, 0, 0, 0}, + {"tzmsk", xop_gpr_reg_rm_09_insn, 2, SUF_Z, 0x01, 0x04, 0, 0, CPU_386, CPU_TBM, 0}, + {"loope", loop_insn, 8, SUF_Z, 0x01, 0, 0, 0, 0, 0, 0}, + {"decl", incdec_insn, 6, SUF_L, 0x48, 0x01, 0, 0, CPU_386, 0, 0}, + {"shlb", shift_insn, 16, SUF_B, 0x04, 0, 0, 0, 0, 0, 0}, + {"cmpsw", onebyte_insn, 1, SUF_Z, 0xA7, 0x10, 0, 0, 0, 0, 0}, + {"inc", incdec_insn, 6, SUF_Z, 0x40, 0x00, 0, 0, 0, 0, 0}, + {"vpshlw", amd_vpshift_insn, 2, SUF_Z, 0x95, 0, 0, 0, CPU_XOP, 0, 0}, + {"vpcomneqd", vpcom_insn, 1, SUF_Z, 0xCE, 0x05, 0, 0, CPU_XOP, 0, 0}, + {"vunpckhps", xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x15, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"movups", movau_insn, 6, SUF_Z, 0x00, 0x10, 0x01, 0, CPU_SSE, 0, 0}, + {"smint", twobyte_insn, 1, SUF_Z, 0x0F, 0x38, 0, 0, CPU_686, CPU_Cyrix, 0}, + {"addsubpd", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0xD0, 0, 0, CPU_SSE3, 0, 0}, + {"sha1msg1", intel_SHA1MSG1_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SHA, 0, 0}, + {"pmovzxdq", sse4m64_insn, 4, SUF_Z, 0x35, 0, 0, 0, CPU_SSE41, 0, 0}, + {"vaddps", xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x58, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"in", in_insn, 12, SUF_Z, 0, 0, 0, 0, 0, 0, 0}, + {"setnpb", setcc_insn, 1, SUF_B, 0x0B, 0, 0, 0, CPU_386, 0, 0}, + {"sete", setcc_insn, 1, SUF_Z, 0x04, 0, 0, 0, CPU_386, 0, 0}, + {"vcmpnlt_uqsd", ssecmp_64_insn, 4, SUF_Z, 0x15, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vfmsub132sd", vfma_sd_insn, 2, SUF_Z, 0x9B, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"cmovnae", cmovcc_insn, 3, SUF_Z, 0x02, 0, 0, 0, CPU_686, 0, 0}, + {"xcryptcfb", padlock_insn, 1, SUF_Z, 0xE0, 0xF3, 0xA7, 0, CPU_PadLock, 0, 0}, + {"vcvtss2siq", cvt_rx_xmm32_insn, 4, SUF_Q, 0xF3, 0x2D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"fcmovnb", fcmovcc_insn, 1, SUF_Z, 0xDB, 0xC0, 0, 0, CPU_686, CPU_FPU, 0}, + {"vfmadd213ss", vfma_ss_insn, 2, SUF_Z, 0xA9, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"pushfw", onebyte_insn, 1, SUF_Z, 0x9C, 0x10, 0x40, 0, 0, 0, 0}, + {"vcmpless", ssecmp_32_insn, 4, SUF_Z, 0x02, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"sidtl", twobytemem_insn, 1, SUF_L, 0x01, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0}, + {"vpcomfalsew", vpcom_insn, 1, SUF_Z, 0xCD, 0x06, 0, 0, CPU_XOP, 0, 0}, + {"xcryptctr", padlock_insn, 1, SUF_Z, 0xD8, 0xF3, 0xA7, 0, CPU_PadLock, 0, 0}, + {"fidiv", fiarith_insn, 2, SUF_Z, 0x06, 0xDA, 0, 0, CPU_FPU, 0, 0}, + {"cvtpi2pd", cvt_xmm_mm_ss_insn, 1, SUF_Z, 0x66, 0x2A, 0, 0, CPU_SSE2, 0, 0}, + {"fxrstorq", twobytemem_insn, 1, SUF_Q, 0x01, 0x0F, 0xAE, 0, CPU_686, CPU_FPU, 0}, + {"aas", onebyte_insn, 1, SUF_Z, 0x3F, 0, 0, NOT_64, 0, 0, 0}, + {"pfrsqrt", now3d_insn, 1, SUF_Z, 0x97, 0, 0, 0, CPU_3DNow, 0, 0}, + {"cmovpeq", cmovcc_insn, 3, SUF_Q, 0x0A, 0, 0, ONLY_64, CPU_686, 0, 0}, + {"vaesenclast", aes_insn, 2, SUF_Z, 0x38, 0xDD, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vmreadl", vmxmemrd_insn, 2, SUF_L, 0, 0, 0, NOT_64, CPU_P4, 0, 0}, + {"vpcomub", vpcom_imm_insn, 1, SUF_Z, 0xEC, 0, 0, 0, CPU_XOP, 0, 0}, + {"movupd", movau_insn, 6, SUF_Z, 0x66, 0x10, 0x01, 0, CPU_SSE2, 0, 0}, + {"btcw", bittest_insn, 6, SUF_W, 0xBB, 0x07, 0, 0, CPU_386, 0, 0}, + {"popfq", onebyte_insn, 1, SUF_Z, 0x9D, 0x40, 0x40, ONLY_64, 0, 0, 0}, + {"pmulhrw", now3d_insn, 1, SUF_Z, 0xB7, 0, 0, 0, CPU_3DNow, 0, 0}, + {"psubsw", mmxsse2_insn, 2, SUF_Z, 0xE9, 0, 0, 0, CPU_MMX, 0, 0}, + {"lsl", larlsl_insn, 6, SUF_Z, 0x03, 0, 0, 0, CPU_286, CPU_Prot, 0}, + {"rdtsc", twobyte_insn, 1, SUF_Z, 0x0F, 0x31, 0, 0, CPU_586, 0, 0}, + {"scasw", onebyte_insn, 1, SUF_Z, 0xAF, 0x10, 0, 0, 0, 0, 0}, + {"pmvnzb", cyrixmmx_insn, 1, SUF_Z, 0x5A, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0}, + {"pmulhw", mmxsse2_insn, 2, SUF_Z, 0xE5, 0, 0, 0, CPU_MMX, 0, 0}, + {"sha1rnds4", intel_SHA1RNDS4_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SHA, 0, 0}, + {"jb", jcc_insn, 9, SUF_Z, 0x02, 0, 0, 0, 0, 0, 0}, + {"blsi", vex_gpr_ndd_rm_0F38_regext_insn, 2, SUF_Z, 0x00, 0xF3, 0x03, ONLY_AVX, CPU_BMI1, 0, 0}, + {"vfmaddsub213ps", vfma_ps_insn, 2, SUF_Z, 0xA6, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"vpcmpeqw", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x75, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vfmaddsd", fma_128_m64_insn, 3, SUF_Z, 0x6B, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0}, + {"vcmpordpd", ssecmp_128_insn, 3, SUF_Z, 0x07, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vpclmulhqhqdq", pclmulqdq_fixed_insn, 2, SUF_Z, 0x11, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"setne", setcc_insn, 1, SUF_Z, 0x05, 0, 0, 0, CPU_386, 0, 0}, + {"pmaddwd", mmxsse2_insn, 2, SUF_Z, 0xF5, 0, 0, 0, CPU_MMX, 0, 0}, + {"vpcomneb", vpcom_insn, 1, SUF_Z, 0xCC, 0x05, 0, 0, CPU_XOP, 0, 0}, + {"pclmulhqlqdq", pclmulqdq_fixed_insn, 2, SUF_Z, 0x01, 0, 0, 0, CPU_AVX, 0, 0}, + {"xaddb", cmpxchgxadd_insn, 4, SUF_B, 0xC0, 0, 0, 0, CPU_486, 0, 0}, + {"cmpps", xmm_xmm128_imm_insn, 1, SUF_Z, 0x00, 0xC2, 0, 0, CPU_SSE, 0, 0}, + {"movntq", movntq_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SSE, 0, 0}, + {"idivw", div_insn, 8, SUF_W, 0x07, 0, 0, 0, 0, 0, 0}, + {"push", push_insn, 35, SUF_Z, 0, 0, 0, 0, 0, 0, 0}, + {"vfmsub231pd", vfma_pd_insn, 2, SUF_Z, 0xBA, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"test", test_insn, 20, SUF_Z, 0, 0, 0, 0, 0, 0, 0}, + {"pslldq", pslrldq_insn, 4, SUF_Z, 0x07, 0, 0, 0, CPU_SSE2, 0, 0}, + {"sha256rnds2", intel_SHA256RNDS2_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SHA, 0, 0}, + {"cmovb", cmovcc_insn, 3, SUF_Z, 0x02, 0, 0, 0, CPU_686, 0, 0}, + {"rex64xyz", NULL, X86_REX>>8, 0x4F, 0, 0, 0, ONLY_64, 0, 0, 0}, + {"blcs", xop_gpr_reg_rm_09_insn, 2, SUF_Z, 0x01, 0x03, 0, 0, CPU_386, CPU_TBM, 0}, + {"punpcklwd", mmxsse2_insn, 2, SUF_Z, 0x61, 0, 0, 0, CPU_MMX, 0, 0}, + {"sqrtps", xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x51, 0, 0, CPU_SSE, 0, 0}, + {"cmovnaeq", cmovcc_insn, 3, SUF_Q, 0x02, 0, 0, ONLY_64, CPU_686, 0, 0}, + {"vmread", vmxmemrd_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_P4, 0, 0}, + {"fldz", twobyte_insn, 1, SUF_Z, 0xD9, 0xEE, 0, 0, CPU_FPU, 0, 0}, + {"vpunpckldq", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x62, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"retl", retnf_insn, 6, SUF_Z, 0xC2, 0, 0, NOT_64, 0, 0, 0}, + {"vlddqu", lddqu_insn, 2, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"loopnzw", loopw_insn, 4, SUF_Z, 0x00, 0x10, 0, NOT_64, 0, 0, 0}, + {"vmaxss", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x5F, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"cvttpd2pi", cvt_mm_xmm_insn, 1, SUF_Z, 0x66, 0x2C, 0, 0, CPU_SSE2, 0, 0}, + {"btrl", bittest_insn, 6, SUF_L, 0xB3, 0x06, 0, 0, CPU_386, 0, 0}, + {"cvttsd2si", cvt_rx_xmm64_insn, 4, SUF_Z, 0xF2, 0x2C, 0, 0, CPU_SSE2, 0, 0}, + {"cmovns", cmovcc_insn, 3, SUF_Z, 0x09, 0, 0, 0, CPU_686, 0, 0}, + {"vblendvpd", avx_sse4xmm0_insn, 2, SUF_Z, 0x4B, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"fistp", fildstp_insn, 4, SUF_Z, 0x03, 0x02, 0x07, 0, CPU_FPU, 0, 0}, + {"setbe", setcc_insn, 1, SUF_Z, 0x06, 0, 0, 0, CPU_386, 0, 0}, + {"cmpordss", ssecmp_32_insn, 4, SUF_Z, 0x07, 0xF3, 0, 0, CPU_SSE, 0, 0}, + {"vfrczps", vfrc_pdps_insn, 2, SUF_Z, 0x00, 0, 0, 0, CPU_XOP, 0, 0}, + {"sysret", twobyte_insn, 1, SUF_Z, 0x0F, 0x07, 0, 0, CPU_686, CPU_AMD, CPU_Priv}, + {"pfrsqit1", now3d_insn, 1, SUF_Z, 0xA7, 0, 0, 0, CPU_3DNow, 0, 0}, + {"pdistib", cyrixmmx_insn, 1, SUF_Z, 0x54, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0}, + {"sha256msg2", intel_SHA256MSG2_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SHA, 0, 0}, + {"pshuflw", xmm_xmm128_imm_insn, 1, SUF_Z, 0xF2, 0x70, 0, 0, CPU_SSE2, 0, 0}, + {"vpcomged", vpcom_insn, 1, SUF_Z, 0xCE, 0x03, 0, 0, CPU_XOP, 0, 0}, + {"addpd", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x58, 0, 0, CPU_SSE2, 0, 0}, + {"fstenv", twobytemem_insn, 1, SUF_Z, 0x06, 0x9B, 0xD9, 0, CPU_FPU, 0, 0}, + {"vpcomled", vpcom_insn, 1, SUF_Z, 0xCE, 0x01, 0, 0, CPU_XOP, 0, 0}, + {"vpackssdw", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x6B, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"cmovnbl", cmovcc_insn, 3, SUF_L, 0x03, 0, 0, 0, CPU_686, 0, 0}, + {"vpcomleuq", vpcom_insn, 1, SUF_Z, 0xEF, 0x01, 0, 0, CPU_XOP, 0, 0}, + {"paddsiw", cyrixmmx_insn, 1, SUF_Z, 0x51, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0}, + {"dppd", sse4imm_insn, 2, SUF_Z, 0x41, 0, 0, 0, CPU_SSE41, 0, 0}, + {"incb", incdec_insn, 6, SUF_B, 0x40, 0x00, 0, 0, 0, 0, 0}, + {"vpmulhuw", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xE4, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vmovmskpdl", movmsk_insn, 4, SUF_L, 0x66, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"hnt", NULL, X86_SEGREG>>8, 0x2E, 0, 0, 0, 0, 0, 0, 0}, + {"fclex", threebyte_insn, 1, SUF_Z, 0x9B, 0xDB, 0xE2, 0, CPU_FPU, 0, 0}, + {"vcmpord_sss", ssecmp_32_insn, 4, SUF_Z, 0x17, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"aeskeygenassist", aes_imm_insn, 1, SUF_Z, 0x3A, 0xDF, 0, 0, CPU_AES, 0, 0}, + {"cvtsi2ssq", cvt_xmm_rmx_insn, 6, SUF_Q, 0xF3, 0x2A, 0, ONLY_64, CPU_SSE, 0, 0}, + {"extractps", extractps_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_386, CPU_SSE41, 0}, + {"cmpless", ssecmp_32_insn, 4, SUF_Z, 0x02, 0xF3, 0, 0, CPU_SSE, 0, 0}, + {"psubusw", mmxsse2_insn, 2, SUF_Z, 0xD9, 0, 0, 0, CPU_MMX, 0, 0}, + {"setnzb", setcc_insn, 1, SUF_B, 0x05, 0, 0, 0, CPU_386, 0, 0}, + {"vpacksswb", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x63, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"pandn", mmxsse2_insn, 2, SUF_Z, 0xDF, 0, 0, 0, CPU_MMX, 0, 0}, + {"vpsubd", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xFA, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vcmptruesd", ssecmp_64_insn, 4, SUF_Z, 0x0F, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"fucomp", fcom2_insn, 2, SUF_Z, 0xDD, 0xE8, 0, 0, CPU_286, CPU_FPU, 0}, + {"lar", larlsl_insn, 6, SUF_Z, 0x02, 0, 0, 0, CPU_286, CPU_Prot, 0}, + {"blsic", xop_gpr_reg_rm_09_insn, 2, SUF_Z, 0x01, 0x06, 0, 0, CPU_386, CPU_TBM, 0}, + {"ibts", ibts_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_386, CPU_Obs, CPU_Undoc}, + {"sysexit", twobyte_insn, 1, SUF_Z, 0x0F, 0x35, 0, NOT_64, CPU_686, CPU_Priv, 0}, + {"vmovmskps", movmsk_insn, 4, SUF_Z, 0x00, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vcvtss2sd", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x5A, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vunpcklps", xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x14, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"fdivr", farith_insn, 7, SUF_Z, 0xF0, 0xF8, 0x07, 0, CPU_FPU, 0, 0}, + {"vpshufb", ssse3_insn, 5, SUF_Z, 0x00, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vcmptruepd", ssecmp_128_insn, 3, SUF_Z, 0x0F, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vpshufhw", xmm_xmm128_imm_256avx2_insn, 2, SUF_Z, 0xF3, 0x70, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"loopl", loopl_insn, 4, SUF_Z, 0x02, 0x20, 0, 0, 0, 0, 0}, + {"vfnmaddps", fma_128_256_insn, 4, SUF_Z, 0x78, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0}, + {"movsbw", movszx_insn, 5, SUF_B, 0xBE, 0, 0, 0, CPU_386, 0, 0}, + {"fstps", fstp_insn, 4, SUF_S, 0, 0, 0, 0, CPU_FPU, 0, 0}, + {"fadd", farith_insn, 7, SUF_Z, 0xC0, 0xC0, 0x00, 0, CPU_FPU, 0, 0}, + {"vcmpeqsd", ssecmp_64_insn, 4, SUF_Z, 0x00, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vcmpngt_uqsd", ssecmp_64_insn, 4, SUF_Z, 0x1A, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"sscaw", onebyte_insn, 1, SUF_Z, 0xAF, 0x10, 0, 0, 0, 0, 0}, + {"setnlb", setcc_insn, 1, SUF_B, 0x0D, 0, 0, 0, CPU_386, 0, 0}, + {"vpmulld", ssse3_insn, 5, SUF_Z, 0x40, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vfmsub132pd", vfma_pd_insn, 2, SUF_Z, 0x9A, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"palignr", ssse3imm_insn, 2, SUF_Z, 0x0F, 0, 0, 0, CPU_SSSE3, 0, 0}, + {"orpd", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x56, 0, 0, CPU_SSE2, 0, 0}, + {"vminsd", xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x5D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"fsincos", twobyte_insn, 1, SUF_Z, 0xD9, 0xFB, 0, 0, CPU_286, CPU_FPU, 0}, + {"vcmple_oqpd", ssecmp_128_insn, 3, SUF_Z, 0x12, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"pmagw", cyrixmmx_insn, 1, SUF_Z, 0x52, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0}, + {"setnleb", setcc_insn, 1, SUF_B, 0x0F, 0, 0, 0, CPU_386, 0, 0}, + {"vcmpps", xmm_xmm128_imm_256_insn, 3, SUF_Z, 0x00, 0xC2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vpmulhrsw", ssse3_insn, 5, SUF_Z, 0x0B, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"setcb", setcc_insn, 1, SUF_B, 0x02, 0, 0, 0, CPU_386, 0, 0}, + {"lgsl", lfgss_insn, 3, SUF_L, 0xB5, 0, 0, 0, CPU_386, 0, 0}, + {"paveb", cyrixmmx_insn, 1, SUF_Z, 0x50, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0}, + {"sbbq", arith_insn, 22, SUF_Q, 0x18, 0x03, 0, ONLY_64, 0, 0, 0}, + {"vfmaddpd", fma_128_256_insn, 4, SUF_Z, 0x69, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0}, + {"fcos", twobyte_insn, 1, SUF_Z, 0xD9, 0xFF, 0, 0, CPU_286, CPU_FPU, 0}, + {"cvtsi2ssl", cvt_xmm_rmx_insn, 6, SUF_L, 0xF3, 0x2A, 0, 0, CPU_386, CPU_SSE, 0}, + {"setneb", setcc_insn, 1, SUF_B, 0x05, 0, 0, 0, CPU_386, 0, 0}, + {"vfnmsub132ps", vfma_ps_insn, 2, SUF_Z, 0x9E, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"lfsw", lfgss_insn, 3, SUF_W, 0xB4, 0, 0, 0, CPU_386, 0, 0}, + {"vpcmpestrm", sse4pcmpstr_insn, 1, SUF_Z, 0x60, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"arpl", arpl_insn, 1, SUF_Z, 0, 0, 0, NOT_64, CPU_286, CPU_Prot, 0}, + {"cmovew", cmovcc_insn, 3, SUF_W, 0x04, 0, 0, 0, CPU_686, 0, 0}, + {"pminuw", sse4_insn, 2, SUF_Z, 0x3A, 0, 0, 0, CPU_SSE41, 0, 0}, + {"movabsq", movabs_insn, 9, SUF_Q, 0, 0, 0, ONLY_64, 0, 0, 0}, + {"cmovo", cmovcc_insn, 3, SUF_Z, 0x00, 0, 0, 0, CPU_686, 0, 0}, + {"blsicl", xop_gpr_reg_rm_09_insn, 2, SUF_L, 0x01, 0x06, 0, 0, CPU_386, CPU_TBM, 0}, + {"smovw", onebyte_insn, 1, SUF_Z, 0xA5, 0x10, 0, 0, 0, 0, 0}, + {"faddl", farith_insn, 7, SUF_L, 0xC0, 0xC0, 0x00, 0, CPU_FPU, 0, 0}, + {"maxsd", xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x5F, 0, 0, CPU_SSE2, 0, 0}, + {"aad", aadm_insn, 2, SUF_Z, 0x01, 0, 0, NOT_64, 0, 0, 0}, + {"vpmaskmovq", vmaskmov_vexw1_avx2_insn, 4, SUF_Z, 0x8C, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, + {"vfmadd132sd", vfma_sd_insn, 2, SUF_Z, 0x99, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"rep", NULL, X86_LOCKREP>>8, 0xF3, 0, 0, 0, 0, 0, 0, 0}, + {"vcmpltss", ssecmp_32_insn, 4, SUF_Z, 0x01, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"sub", arith_insn, 22, SUF_Z, 0x28, 0x05, 0, 0, 0, 0, 0}, + {"smswq", sldtmsw_insn, 6, SUF_Q, 0x04, 0x01, 0, ONLY_64, CPU_286, 0, 0}, + {"qword", NULL, X86_OPERSIZE>>8, 0x40, 0, 0, 0, ONLY_64, 0, 0, 0}, + {"vcmpunordps", ssecmp_128_insn, 3, SUF_Z, 0x03, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"cltq", onebyte_insn, 1, SUF_Z, 0x98, 0x40, 0, ONLY_64, 0, 0, 0}, + {"vfnmadd213pd", vfma_pd_insn, 2, SUF_Z, 0xAC, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"minsd", xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x5D, 0, 0, CPU_SSE2, 0, 0}, + {"fmul", farith_insn, 7, SUF_Z, 0xC8, 0xC8, 0x01, 0, CPU_FPU, 0, 0}, + {"cmpss", xmm_xmm32_imm_insn, 4, SUF_Z, 0xF3, 0xC2, 0, 0, CPU_SSE, 0, 0}, + {"vcvtsd2si", cvt_rx_xmm64_insn, 4, SUF_Z, 0xF2, 0x2D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"addsd", xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x58, 0, 0, CPU_SSE2, 0, 0}, + {"vmulss", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x59, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"btsq", bittest_insn, 6, SUF_Q, 0xAB, 0x05, 0, ONLY_64, CPU_386, 0, 0}, + {"cvtsd2sil", cvt_rx_xmm64_insn, 4, SUF_L, 0xF2, 0x2D, 0, 0, CPU_386, CPU_SSE2, 0}, + {"vpcomtrueb", vpcom_insn, 1, SUF_Z, 0xCC, 0x07, 0, 0, CPU_XOP, 0, 0}, + {"vpcomeqb", vpcom_insn, 1, SUF_Z, 0xCC, 0x04, 0, 0, CPU_XOP, 0, 0}, + {"fidivr", fiarith_insn, 2, SUF_Z, 0x07, 0xDA, 0, 0, CPU_FPU, 0, 0}, + {"vpcomgeuw", vpcom_insn, 1, SUF_Z, 0xED, 0x03, 0, 0, CPU_XOP, 0, 0}, + {"cmovnel", cmovcc_insn, 3, SUF_L, 0x05, 0, 0, 0, CPU_686, 0, 0}, + {"vpmovzxwq", sse4m32_insn, 4, SUF_Z, 0x34, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vcmpeq_osss", ssecmp_32_insn, 4, SUF_Z, 0x10, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"shrb", shift_insn, 16, SUF_B, 0x05, 0, 0, 0, 0, 0, 0}, + {"maxpd", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x5F, 0, 0, CPU_SSE2, 0, 0}, + {"hsubps", xmm_xmm128_insn, 2, SUF_Z, 0xF2, 0x7D, 0, 0, CPU_SSE3, 0, 0}, + {"sarx", vex_gpr_reg_rm_nds_0F_insn, 2, SUF_Z, 0xF3, 0x38, 0xF7, ONLY_AVX, CPU_BMI2, 0, 0}, + {"vpcomgtb", vpcom_insn, 1, SUF_Z, 0xCC, 0x02, 0, 0, CPU_XOP, 0, 0}, + {"vextractf128", vextractif128_insn, 1, SUF_Z, 0x19, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vcvtsi2ssl", cvt_xmm_rmx_insn, 6, SUF_L, 0xF3, 0x2A, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"movzxb", movszx_insn, 5, SUF_B, 0xB6, 0, 0, 0, CPU_386, 0, 0}, + {"vpbroadcastw", vpbroadcastw_avx2_insn, 4, SUF_Z, 0, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, + {"shlw", shift_insn, 16, SUF_W, 0x04, 0, 0, 0, 0, 0, 0}, + {"cmpltps", ssecmp_128_insn, 3, SUF_Z, 0x01, 0, 0, 0, CPU_SSE, 0, 0}, + {"xlatb", onebyte_insn, 1, SUF_Z, 0xD7, 0x00, 0, 0, 0, 0, 0}, + {"xsha1", padlock_insn, 1, SUF_Z, 0xC8, 0xF3, 0xA6, 0, CPU_PadLock, 0, 0}, + {"lret", retnf_insn, 6, SUF_Z, 0xCA, 0, 0, 0, 0, 0, 0}, + {"xsha256", padlock_insn, 1, SUF_Z, 0xD0, 0xF3, 0xA6, 0, CPU_PadLock, 0, 0}, + {"vpsrad", vpshift_insn, 8, SUF_Z, 0xE2, 0x72, 0x04, ONLY_AVX, CPU_AVX, 0, 0}, + {"cmovnpl", cmovcc_insn, 3, SUF_L, 0x0B, 0, 0, 0, CPU_686, 0, 0}, + {"addw", arith_insn, 22, SUF_W, 0x00, 0x00, 0, 0, 0, 0, 0}, + {"setg", setcc_insn, 1, SUF_Z, 0x0F, 0, 0, 0, CPU_386, 0, 0}, + {"vphaddubq", vphaddsub_insn, 1, SUF_Z, 0xD3, 0, 0, 0, CPU_XOP, 0, 0}, + {"cmovngl", cmovcc_insn, 3, SUF_L, 0x0E, 0, 0, 0, CPU_686, 0, 0}, + {"vpermilpd", vpermil_insn, 4, SUF_Z, 0x05, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vpmacswd", vpma_insn, 1, SUF_Z, 0x96, 0, 0, 0, CPU_XOP, 0, 0}, + {"clac", threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xCA, 0, CPU_SMAP, 0, 0}, + {"punpckhwd", mmxsse2_insn, 2, SUF_Z, 0x69, 0, 0, 0, CPU_MMX, 0, 0}, + {"vpcmpgtb", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x64, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"leave", onebyte_insn, 1, SUF_Z, 0xC9, 0x00, 0x40, 0, CPU_186, 0, 0}, + {"shrd", shlrd_insn, 9, SUF_Z, 0xAC, 0, 0, 0, CPU_386, 0, 0}, + {"vfmsub132ps", vfma_ps_insn, 2, SUF_Z, 0x9A, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"lretl", retnf_insn, 6, SUF_L, 0xCA, 0, 0, 0, 0, 0, 0}, + {"cmovpol", cmovcc_insn, 3, SUF_L, 0x0B, 0, 0, 0, CPU_686, 0, 0}, + {"orl", arith_insn, 22, SUF_L, 0x08, 0x01, 0, 0, CPU_386, 0, 0}, + {"fnstcw", fldnstcw_insn, 1, SUF_Z, 0x07, 0, 0, 0, CPU_FPU, 0, 0}, + {"punpckldq", mmxsse2_insn, 2, SUF_Z, 0x62, 0, 0, 0, CPU_MMX, 0, 0}, + {"vpmaddwd", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xF5, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"mulb", f6_insn, 4, SUF_B, 0x04, 0, 0, 0, 0, 0, 0}, + {"cmppd", xmm_xmm128_imm_insn, 1, SUF_Z, 0x66, 0xC2, 0, 0, CPU_SSE2, 0, 0}, + {"rex", NULL, X86_REX>>8, 0x40, 0, 0, 0, ONLY_64, 0, 0, 0}, + {"movd", movd_insn, 8, SUF_Z, 0, 0, 0, 0, CPU_386, CPU_MMX, 0}, + {"vpshaw", amd_vpshift_insn, 2, SUF_Z, 0x99, 0, 0, 0, CPU_XOP, 0, 0}, + {"vrsqrtps", avx_xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x52, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vcvtph2ps", avx_cvtph2ps_insn, 4, SUF_Z, 0x66, 0x13, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vsubss", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x5C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"tzcntl", cnt_insn, 3, SUF_L, 0xBC, 0, 0, 0, CPU_BMI1, 0, 0}, + {"not", f6_insn, 4, SUF_Z, 0x02, 0, 0, 0, 0, 0, 0}, + {"cvtpd2pi", cvt_mm_xmm_insn, 1, SUF_Z, 0x66, 0x2D, 0, 0, CPU_SSE2, 0, 0}, + {"vcmpngtsd", ssecmp_64_insn, 4, SUF_Z, 0x0A, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"rex64yz", NULL, X86_REX>>8, 0x4B, 0, 0, 0, ONLY_64, 0, 0, 0}, + {"vpblendd", vex_66_0F3A_imm8_avx2_insn, 2, SUF_Z, 0x02, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, + {"vpmovmskb", pmovmskb_insn, 6, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"fldt", fldstpt_insn, 1, SUF_Z, 0x05, 0, 0, 0, CPU_FPU, 0, 0}, + {"vpunpcklbw", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x60, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"femms", twobyte_insn, 1, SUF_Z, 0x0F, 0x0E, 0, 0, CPU_3DNow, 0, 0}, + {"vpsrlvq", vpshiftv_vexw1_avx2_insn, 2, SUF_Z, 0x45, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, + {"paddusb", mmxsse2_insn, 2, SUF_Z, 0xDC, 0, 0, 0, CPU_MMX, 0, 0}, + {"movdq2q", movdq2q_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SSE2, 0, 0}, + {"vfnmsub132pd", vfma_pd_insn, 2, SUF_Z, 0x9E, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"adcb", arith_insn, 22, SUF_B, 0x10, 0x02, 0, 0, 0, 0, 0}, + {"vcmpneqps", ssecmp_128_insn, 3, SUF_Z, 0x04, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"andnl", vex_gpr_reg_nds_rm_0F_insn, 2, SUF_L, 0x00, 0x38, 0xF2, ONLY_AVX, CPU_BMI1, 0, 0}, + {"fnstenvl", onebytemem_insn, 1, SUF_L, 0x06, 0xD9, 0, 0, CPU_FPU, 0, 0}, + {"smi", onebyte_insn, 1, SUF_Z, 0xF1, 0, 0, 0, CPU_386, CPU_Undoc, 0}, + {"cmovol", cmovcc_insn, 3, SUF_L, 0x00, 0, 0, 0, CPU_686, 0, 0}, + {"wait", onebyte_insn, 1, SUF_Z, 0x9B, 0, 0, 0, 0, 0, 0}, + {"vpcmov", vpcmov_insn, 4, SUF_Z, 0, 0, 0, 0, CPU_XOP, 0, 0}, + {"vunpcklpd", xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x14, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"jl", jcc_insn, 9, SUF_Z, 0x0C, 0, 0, 0, 0, 0, 0}, + {"fnclex", twobyte_insn, 1, SUF_Z, 0xDB, 0xE2, 0, 0, CPU_FPU, 0, 0}, + {"shlq", shift_insn, 16, SUF_Q, 0x04, 0, 0, ONLY_64, 0, 0, 0}, + {"sall", shift_insn, 16, SUF_L, 0x04, 0, 0, 0, CPU_386, 0, 0}, + {"swapgs", threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xF8, ONLY_64, 0, 0, 0}, + {"cvttps2dq", xmm_xmm128_insn, 2, SUF_Z, 0xF3, 0x5B, 0, 0, CPU_SSE2, 0, 0}, + {"pmaxud", sse4_insn, 2, SUF_Z, 0x3F, 0, 0, 0, CPU_SSE41, 0, 0}, + {"vpaddsw", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xED, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"prefetcht0", twobytemem_insn, 1, SUF_Z, 0x01, 0x0F, 0x18, 0, CPU_P3, 0, 0}, + {"repne", NULL, X86_LOCKREP>>8, 0xF2, 0, 0, 0, 0, 0, 0, 0}, + {"vfmsub132ss", vfma_ss_insn, 2, SUF_Z, 0x9B, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"lsll", larlsl_insn, 6, SUF_L, 0x03, 0, 0, 0, CPU_286, CPU_Prot, 0}, + {"vgatherqps", gather_32x_32y_128_insn, 2, SUF_Z, 0x93, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, + {"vrsqrtss", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x52, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"divl", div_insn, 8, SUF_L, 0x06, 0, 0, 0, CPU_386, 0, 0}, + {"pcmpgtq", sse4_insn, 2, SUF_Z, 0x37, 0, 0, 0, CPU_SSE41, 0, 0}, + {"pmulhrsw", ssse3_insn, 5, SUF_Z, 0x0B, 0, 0, 0, CPU_SSSE3, 0, 0}, + {"repe", NULL, X86_LOCKREP>>8, 0xF3, 0, 0, 0, 0, 0, 0, 0}, + {"vpcomtrued", vpcom_insn, 1, SUF_Z, 0xCE, 0x07, 0, 0, CPU_XOP, 0, 0}, + {"fldl", fld_insn, 4, SUF_L, 0, 0, 0, 0, CPU_FPU, 0, 0}, + {"cvtps2pd", xmm_xmm64_insn, 4, SUF_Z, 0x00, 0x5A, 0, 0, CPU_SSE2, 0, 0}, + {"vcmpnless", ssecmp_32_insn, 4, SUF_Z, 0x06, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"loopeq", loopq_insn, 4, SUF_Z, 0x01, 0x40, 0, ONLY_64, 0, 0, 0}, + {"aesdeclast", aes_insn, 2, SUF_Z, 0x38, 0xDF, 0, 0, CPU_AVX, 0, 0}, + {"vpcomequb", vpcom_insn, 1, SUF_Z, 0xEC, 0x04, 0, 0, CPU_XOP, 0, 0}, + {"stgi", threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xDC, 0, CPU_SVM, 0, 0}, + {"vpmovzxbd", sse4m32_insn, 4, SUF_Z, 0x31, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"psignb", ssse3_insn, 5, SUF_Z, 0x08, 0, 0, 0, CPU_SSSE3, 0, 0}, + {"vpshlq", amd_vpshift_insn, 2, SUF_Z, 0x97, 0, 0, 0, CPU_XOP, 0, 0}, + {"vpcomfalseuq", vpcom_insn, 1, SUF_Z, 0xEF, 0x06, 0, 0, CPU_XOP, 0, 0}, + {"mulxq", vex_gpr_reg_nds_rm_0F_insn, 2, SUF_Q, 0xF2, 0x38, 0xF6, ONLY_64|ONLY_AVX, CPU_BMI2, 0, 0}, + {"jmpq", jmp_insn, 31, SUF_Q, 0, 0, 0, ONLY_64, 0, 0, 0}, + {"cvtsd2siq", cvt_rx_xmm64_insn, 4, SUF_Q, 0xF2, 0x2D, 0, ONLY_64, CPU_SSE2, 0, 0}, + {"movhpd", movhlp_insn, 3, SUF_Z, 0x66, 0x16, 0, 0, CPU_SSE2, 0, 0}, + {"punpcklqdq", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x6C, 0, 0, CPU_SSE2, 0, 0}, + {"verw", prot286_insn, 1, SUF_Z, 0x05, 0x00, 0, 0, CPU_286, CPU_Prot, 0}, + {"cmpunordsd", ssecmp_64_insn, 4, SUF_Z, 0x03, 0xF2, 0, 0, CPU_SSE2, 0, 0}, + {"vzeroall", vzero_insn, 1, SUF_Z, 0xC4, 0, 0, 0, CPU_AVX, 0, 0}, + {"vperm2i128", vperm2i128_avx2_insn, 1, SUF_Z, 0, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, + {"jo", jcc_insn, 9, SUF_Z, 0x00, 0, 0, 0, 0, 0, 0}, + {"callq", call_insn, 30, SUF_Q, 0, 0, 0, ONLY_64, 0, 0, 0}, + {"cmovle", cmovcc_insn, 3, SUF_Z, 0x0E, 0, 0, 0, CPU_686, 0, 0}, + {"sgdtq", twobytemem_insn, 1, SUF_Q, 0x00, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0}, + {"cmovnpq", cmovcc_insn, 3, SUF_Q, 0x0B, 0, 0, ONLY_64, CPU_686, 0, 0}, + {"cvtpd2ps", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x5A, 0, 0, CPU_SSE2, 0, 0}, + {"minss", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x5D, 0, 0, CPU_SSE, 0, 0}, + {"loopw", loopw_insn, 4, SUF_Z, 0x02, 0x10, 0, NOT_64, 0, 0, 0}, + {"inveptl", eptvpid_insn, 2, SUF_L, 0x00, 0, 0, NOT_64, CPU_386, CPU_EPTVPID, 0}, + {"bsr", bsfr_insn, 3, SUF_Z, 0xBD, 0, 0, 0, CPU_386, 0, 0}, + {"vcmpgtss", ssecmp_32_insn, 4, SUF_Z, 0x0E, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"negl", f6_insn, 4, SUF_L, 0x03, 0, 0, 0, CPU_386, 0, 0}, + {"psrlw", pshift_insn, 4, SUF_Z, 0xD1, 0x71, 0x02, 0, CPU_MMX, 0, 0}, + {"vpmuludq", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xF4, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"pext", vex_gpr_reg_nds_rm_0F_insn, 2, SUF_Z, 0xF3, 0x38, 0xF5, ONLY_AVX, CPU_BMI2, 0, 0}, + {"rsm", twobyte_insn, 1, SUF_Z, 0x0F, 0xAA, 0, 0, CPU_586, CPU_SMM, 0}, + {"addl", arith_insn, 22, SUF_L, 0x00, 0x00, 0, 0, CPU_386, 0, 0}, + {"vpermd", vperm_var_avx2_insn, 1, SUF_Z, 0x36, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, + {"fxsave", twobytemem_insn, 1, SUF_Z, 0x00, 0x0F, 0xAE, 0, CPU_686, CPU_FPU, 0}, + {"vphadduwq", vphaddsub_insn, 1, SUF_Z, 0xD7, 0, 0, 0, CPU_XOP, 0, 0}, + {"pminud", sse4_insn, 2, SUF_Z, 0x3B, 0, 0, 0, CPU_SSE41, 0, 0}, + {"ldsw", ldes_insn, 2, SUF_W, 0xC5, 0, 0, NOT_64, 0, 0, 0}, + {"movsw", onebyte_insn, 1, SUF_Z, 0xA5, 0x10, 0, 0, 0, 0, 0}, + {"pmaxub", mmxsse2_insn, 2, SUF_Z, 0xDE, 0, 0, 0, CPU_MMX, CPU_P3, 0}, + {"vldmxcsr", ldstmxcsr_insn, 1, SUF_Z, 0x02, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vhsubpd", xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x7D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vucomisd", avx_xmm_xmm64_insn, 2, SUF_Z, 0x66, 0x2E, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"cmovpow", cmovcc_insn, 3, SUF_W, 0x0B, 0, 0, 0, CPU_686, 0, 0}, + {"pmvgezb", cyrixmmx_insn, 1, SUF_Z, 0x5C, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0}, + {"cvtsd2ss", xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x5A, 0, 0, CPU_SSE2, 0, 0}, + {"vbroadcastf128", vbroadcastif128_insn, 1, SUF_Z, 0x1A, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"lldt", prot286_insn, 1, SUF_Z, 0x02, 0x00, 0, 0, CPU_286, CPU_Priv, CPU_Prot}, + {"t1mskc", xop_gpr_reg_rm_09_insn, 2, SUF_Z, 0x01, 0x07, 0, 0, CPU_386, CPU_TBM, 0}, + {"movsx", movszx_insn, 5, SUF_Z, 0xBE, 0, 0, 0, CPU_386, 0, 0}, + {"vpmacsdd", vpma_insn, 1, SUF_Z, 0x9E, 0, 0, 0, CPU_XOP, 0, 0}, + {"vcmplesd", ssecmp_64_insn, 4, SUF_Z, 0x02, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"prefetchw", twobytemem_insn, 1, SUF_Z, 0x01, 0x0F, 0x0D, 0, CPU_PRFCHW, 0, 0}, + {"pextrd", pextrd_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_386, CPU_SSE41, 0}, + {"vcmpfalse_osps", ssecmp_128_insn, 3, SUF_Z, 0x1B, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vptest", sse4_insn, 2, SUF_Z, 0x17, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"loopneq", loopq_insn, 4, SUF_Z, 0x00, 0x40, 0, ONLY_64, 0, 0, 0}, + {"fucompp", twobyte_insn, 1, SUF_Z, 0xDA, 0xE9, 0, 0, CPU_286, CPU_FPU, 0}, + {"vpextrq", pextrq_insn, 1, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"umov", umov_insn, 6, SUF_Z, 0, 0, 0, 0, CPU_386, CPU_Undoc, 0}, + {"fcmovb", fcmovcc_insn, 1, SUF_Z, 0xDA, 0xC0, 0, 0, CPU_686, CPU_FPU, 0}, + {"vinsertf128", vinsertif128_insn, 1, SUF_Z, 0x18, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"std", onebyte_insn, 1, SUF_Z, 0xFD, 0, 0, 0, 0, 0, 0}, + {"cvtpd2dq", xmm_xmm128_insn, 2, SUF_Z, 0xF2, 0xE6, 0, 0, CPU_SSE2, 0, 0}, + {"vpcomned", vpcom_insn, 1, SUF_Z, 0xCE, 0x05, 0, 0, CPU_XOP, 0, 0}, + {"vpand", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xDB, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"bswapq", bswap_insn, 2, SUF_Q, 0, 0, 0, ONLY_64, 0, 0, 0}, + {"vpmacssdqh", vpma_insn, 1, SUF_Z, 0x8F, 0, 0, 0, CPU_XOP, 0, 0}, + {"blcicl", xop_gpr_reg_rm_09_insn, 2, SUF_L, 0x01, 0x05, 0, 0, CPU_386, CPU_TBM, 0}, + {"strq", str_insn, 4, SUF_Q, 0, 0, 0, ONLY_64, CPU_286, CPU_Prot, 0}, + {"vshufps", xmm_xmm128_imm_256_insn, 3, SUF_Z, 0x00, 0xC6, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"roll", shift_insn, 16, SUF_L, 0x00, 0, 0, 0, CPU_386, 0, 0}, + {"cvttpd2dq", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0xE6, 0, 0, CPU_SSE2, 0, 0}, + {"salq", shift_insn, 16, SUF_Q, 0x04, 0, 0, ONLY_64, 0, 0, 0}, + {"vpcomfalseq", vpcom_insn, 1, SUF_Z, 0xCF, 0x06, 0, 0, CPU_XOP, 0, 0}, + {"leaq", lea_insn, 3, SUF_Q, 0, 0, 0, ONLY_64, 0, 0, 0}, + {"vmovdqu", movau_insn, 6, SUF_Z, 0xF3, 0x6F, 0x10, ONLY_AVX, CPU_AVX, 0, 0}, + {"vpmaddubsw", ssse3_insn, 5, SUF_Z, 0x04, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"cmpltpd", ssecmp_128_insn, 3, SUF_Z, 0x01, 0x66, 0, 0, CPU_SSE, 0, 0}, + {"outw", out_insn, 12, SUF_W, 0, 0, 0, 0, 0, 0, 0}, + {"cmovncq", cmovcc_insn, 3, SUF_Q, 0x03, 0, 0, ONLY_64, CPU_686, 0, 0}, + {"blcmskl", xop_gpr_reg_rm_09_insn, 2, SUF_L, 0x02, 0x01, 0, 0, CPU_386, CPU_TBM, 0}, + {"vfmadd231ss", vfma_ss_insn, 2, SUF_Z, 0xB9, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"cmpordsd", ssecmp_64_insn, 4, SUF_Z, 0x07, 0xF2, 0, 0, CPU_SSE2, 0, 0}, + {"setnle", setcc_insn, 1, SUF_Z, 0x0F, 0, 0, 0, CPU_386, 0, 0}, + {"vfmadd231pd", vfma_pd_insn, 2, SUF_Z, 0xB8, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"vcmpneqsd", ssecmp_64_insn, 4, SUF_Z, 0x04, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vmptrst", vmxtwobytemem_insn, 1, SUF_Z, 0x07, 0, 0, 0, CPU_P4, 0, 0}, + {"cmovsl", cmovcc_insn, 3, SUF_L, 0x08, 0, 0, 0, CPU_686, 0, 0}, + {"vpmovsxbw", sse4m64_insn, 4, SUF_Z, 0x20, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vcmpneq_ossd", ssecmp_64_insn, 4, SUF_Z, 0x1C, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"xgetbv", threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xD0, 0, CPU_386, CPU_XSAVE, 0}, + {"addr32", NULL, X86_ADDRSIZE>>8, 0x20, 0, 0, 0, 0, 0, 0, 0}, + {"vcmpneq_osss", ssecmp_32_insn, 4, SUF_Z, 0x1C, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vmulsd", xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x59, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"maskmovdqu", maskmovdqu_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SSE2, 0, 0}, + {"vpslldq", pslrldq_insn, 4, SUF_Z, 0x07, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"maskmovq", maskmovq_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_MMX, CPU_P3, 0}, + {"vcmpeq_uspd", ssecmp_128_insn, 3, SUF_Z, 0x18, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"pmulhriw", cyrixmmx_insn, 1, SUF_Z, 0x5D, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0}, + {"vcvtps2dq", avx_xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x5B, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vfnmsub231ss", vfma_ss_insn, 2, SUF_Z, 0xBF, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"shrx", vex_gpr_reg_rm_nds_0F_insn, 2, SUF_Z, 0xF2, 0x38, 0xF7, ONLY_AVX, CPU_BMI2, 0, 0}, + {"psadbw", mmxsse2_insn, 2, SUF_Z, 0xF6, 0, 0, 0, CPU_MMX, CPU_P3, 0}, + {"vmovd", vmovd_insn, 2, SUF_Z, 0, 0, 0, ONLY_AVX, CPU_386, CPU_AVX, 0}, + {"pushfl", onebyte_insn, 1, SUF_Z, 0x9C, 0x20, 0, NOT_64, CPU_386, 0, 0}, + {"vfnmadd132ps", vfma_ps_insn, 2, SUF_Z, 0x9C, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"sqrtpd", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x51, 0, 0, CPU_SSE2, 0, 0}, + {"cvtss2sil", cvt_rx_xmm32_insn, 4, SUF_L, 0xF3, 0x2D, 0, 0, CPU_386, CPU_SSE, 0}, + {"fyl2x", twobyte_insn, 1, SUF_Z, 0xD9, 0xF1, 0, 0, CPU_FPU, 0, 0}, + {"btq", bittest_insn, 6, SUF_Q, 0xA3, 0x04, 0, ONLY_64, CPU_386, 0, 0}, + {"vpslld", vpshift_insn, 8, SUF_Z, 0xF2, 0x72, 0x06, ONLY_AVX, CPU_AVX, 0, 0}, + {"invlpga", invlpga_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_SVM, 0, 0}, + {"xorb", arith_insn, 22, SUF_B, 0x30, 0x06, 0, 0, 0, 0, 0}, + {"fsubp", farithp_insn, 3, SUF_Z, 0xE0, 0, 0, 0, CPU_FPU, 0, 0}, + {"vcvtps2pd", avx_cvt_xmm64_insn, 3, SUF_Z, 0x00, 0x5A, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vfnmsub213pd", vfma_pd_insn, 2, SUF_Z, 0xAE, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"vcvttsd2sil", cvt_rx_xmm64_insn, 4, SUF_L, 0xF2, 0x2C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"jp", jcc_insn, 9, SUF_Z, 0x0A, 0, 0, 0, 0, 0, 0}, + {"vsubpd", xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x5C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"lesw", ldes_insn, 2, SUF_W, 0xC4, 0, 0, NOT_64, 0, 0, 0}, + {"vxorps", xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x57, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"divb", div_insn, 8, SUF_B, 0x06, 0, 0, 0, 0, 0, 0}, + {"movq", mov_insn, 69, SUF_Q, 0, 0, 0, 0, 0, 0, 0}, + {"lfsl", lfgss_insn, 3, SUF_L, 0xB4, 0, 0, 0, CPU_386, 0, 0}, + {"syscall", twobyte_insn, 1, SUF_Z, 0x0F, 0x05, 0, 0, CPU_686, CPU_AMD, 0}, + {"btl", bittest_insn, 6, SUF_L, 0xA3, 0x04, 0, 0, CPU_386, 0, 0}, + {"fucomip", fcom2_insn, 2, SUF_Z, 0xDF, 0xE8, 0, 0, CPU_686, CPU_FPU, 0}, + {"setncb", setcc_insn, 1, SUF_B, 0x03, 0, 0, 0, CPU_386, 0, 0}, + {"cmovnol", cmovcc_insn, 3, SUF_L, 0x01, 0, 0, 0, CPU_686, 0, 0}, + {"xcryptcbc", padlock_insn, 1, SUF_Z, 0xD0, 0xF3, 0xA7, 0, CPU_PadLock, 0, 0}, + {"vcmplt_oqps", ssecmp_128_insn, 3, SUF_Z, 0x11, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"btrq", bittest_insn, 6, SUF_Q, 0xB3, 0x06, 0, ONLY_64, CPU_386, 0, 0}, + {"paddw", mmxsse2_insn, 2, SUF_Z, 0xFD, 0, 0, 0, CPU_MMX, 0, 0}, + {"pmovzxbq", sse4m16_insn, 4, SUF_Z, 0x32, 0, 0, 0, CPU_SSE41, 0, 0}, + {"rorq", shift_insn, 16, SUF_Q, 0x01, 0, 0, ONLY_64, 0, 0, 0}, + {"xrelease", NULL, X86_ACQREL>>8, 0xF3, 0, 0, 0, 0, 0, 0, 0}, + {"vpshld", amd_vpshift_insn, 2, SUF_Z, 0x96, 0, 0, 0, CPU_XOP, 0, 0}, + {"fstp", fstp_insn, 4, SUF_Z, 0, 0, 0, 0, CPU_FPU, 0, 0}, + {"movsbq", movszx_insn, 5, SUF_B, 0xBE, 0, 0, ONLY_64, CPU_386, 0, 0}, + {"fucom", fcom2_insn, 2, SUF_Z, 0xDD, 0xE0, 0, 0, CPU_286, CPU_FPU, 0}, + {"vpclmullqlqdq", pclmulqdq_fixed_insn, 2, SUF_Z, 0x00, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"hsubpd", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x7D, 0, 0, CPU_SSE3, 0, 0}, + {"por", mmxsse2_insn, 2, SUF_Z, 0xEB, 0, 0, 0, CPU_MMX, 0, 0}, + {"mulx", vex_gpr_reg_nds_rm_0F_insn, 2, SUF_Z, 0xF2, 0x38, 0xF6, ONLY_AVX, CPU_BMI2, 0, 0}, + {"vpcomneqb", vpcom_insn, 1, SUF_Z, 0xCC, 0x05, 0, 0, CPU_XOP, 0, 0}, + {"movmskps", movmsk_insn, 4, SUF_Z, 0, 0, 0, 0, CPU_386, CPU_SSE, 0}, + {"fucomi", fcom2_insn, 2, SUF_Z, 0xDB, 0xE8, 0, 0, CPU_686, CPU_FPU, 0}, + {"ht", NULL, X86_SEGREG>>8, 0x3E, 0, 0, 0, 0, 0, 0, 0}, + {"vroundps", avx_sse4imm_insn, 3, SUF_Z, 0x08, 0, 0, ONLY_AVX, CPU_SSE41, 0, 0}, + {"ud1", twobyte_insn, 1, SUF_Z, 0x0F, 0xB9, 0, 0, CPU_286, CPU_Undoc, 0}, + {"insl", onebyte_insn, 1, SUF_Z, 0x6D, 0x20, 0, 0, CPU_386, 0, 0}, + {"vcmpngt_uqpd", ssecmp_128_insn, 3, SUF_Z, 0x1A, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"rex64y", NULL, X86_REX>>8, 0x4A, 0, 0, 0, ONLY_64, 0, 0, 0}, + {"fldln2", twobyte_insn, 1, SUF_Z, 0xD9, 0xED, 0, 0, CPU_FPU, 0, 0}, + {"ldsl", ldes_insn, 2, SUF_L, 0xC5, 0, 0, NOT_64, CPU_386, 0, 0}, + {"tzmskl", xop_gpr_reg_rm_09_insn, 2, SUF_L, 0x01, 0x04, 0, 0, CPU_386, CPU_TBM, 0}, + {"vcmppd", xmm_xmm128_imm_256_insn, 3, SUF_Z, 0x66, 0xC2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"sidtw", twobytemem_insn, 1, SUF_W, 0x01, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0}, + {"vpextrwl", pextrw_insn, 7, SUF_L, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"fldl2t", twobyte_insn, 1, SUF_Z, 0xD9, 0xE9, 0, 0, CPU_FPU, 0, 0}, + {"insb", onebyte_insn, 1, SUF_Z, 0x6C, 0x00, 0, 0, 0, 0, 0}, + {"bound", bound_insn, 2, SUF_Z, 0, 0, 0, NOT_64, CPU_186, 0, 0}, + {"vmwrite", vmxmemwr_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_P4, 0, 0}, + {"cmpxchgq", cmpxchgxadd_insn, 4, SUF_Q, 0xB0, 0, 0, ONLY_64, CPU_486, 0, 0}, + {"fsts", fst_insn, 3, SUF_S, 0, 0, 0, 0, CPU_FPU, 0, 0}, + {"orps", xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x56, 0, 0, CPU_SSE, 0, 0}, + {"vandnps", xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x55, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"fdivrs", farith_insn, 7, SUF_S, 0xF0, 0xF8, 0x07, 0, CPU_FPU, 0, 0}, + {"fldcww", fldnstcw_insn, 1, SUF_W, 0x05, 0, 0, 0, CPU_FPU, 0, 0}, + {"movl", mov_insn, 69, SUF_L, 0, 0, 0, 0, CPU_386, 0, 0}, + {"movq2dq", movq2dq_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SSE2, 0, 0}, + {"cmpunordpd", ssecmp_128_insn, 3, SUF_Z, 0x03, 0x66, 0, 0, CPU_SSE, 0, 0}, + {"rdseed", rdrand_insn, 3, SUF_Z, 0x07, 0, 0, 0, CPU_RDSEED, 0, 0}, + {"cmovneq", cmovcc_insn, 3, SUF_Q, 0x05, 0, 0, ONLY_64, CPU_686, 0, 0}, + {"vpmovzxbq", sse4m16_insn, 4, SUF_Z, 0x32, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"cmpsb", onebyte_insn, 1, SUF_Z, 0xA6, 0x00, 0, 0, 0, 0, 0}, + {"vfmadd213sd", vfma_sd_insn, 2, SUF_Z, 0xA9, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"into", onebyte_insn, 1, SUF_Z, 0xCE, 0, 0, NOT_64, 0, 0, 0}, + {"cmovzl", cmovcc_insn, 3, SUF_L, 0x04, 0, 0, 0, CPU_686, 0, 0}, + {"imulb", imul_insn, 19, SUF_B, 0, 0, 0, 0, 0, 0, 0}, + {"setc", setcc_insn, 1, SUF_Z, 0x02, 0, 0, 0, CPU_386, 0, 0}, + {"vstmxcsr", ldstmxcsr_insn, 1, SUF_Z, 0x03, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"fldenv", onebytemem_insn, 1, SUF_Z, 0x04, 0xD9, 0, 0, CPU_FPU, 0, 0}, + {"pmovsxwd", sse4m64_insn, 4, SUF_Z, 0x23, 0, 0, 0, CPU_SSE41, 0, 0}, + {"vcmpnltss", ssecmp_32_insn, 4, SUF_Z, 0x05, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"movntpd", movnt_insn, 2, SUF_Z, 0x66, 0x2B, 0, 0, CPU_SSE2, 0, 0}, + {"pcmpeqw", mmxsse2_insn, 2, SUF_Z, 0x75, 0, 0, 0, CPU_MMX, 0, 0}, + {"fcoms", fcom_insn, 6, SUF_S, 0xD0, 0x02, 0, 0, CPU_FPU, 0, 0}, + {"vpaddb", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xFC, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"sldt", sldtmsw_insn, 6, SUF_Z, 0x00, 0x00, 0, 0, CPU_286, 0, 0}, + {"fisttpq", fildstp_insn, 4, SUF_Q, 0x01, 0x00, 0x01, 0, CPU_SSE3, 0, 0}, + {"vpmacsww", vpma_insn, 1, SUF_Z, 0x95, 0, 0, 0, CPU_XOP, 0, 0}, + {"jne", jcc_insn, 9, SUF_Z, 0x05, 0, 0, 0, 0, 0, 0}, + {"shldl", shlrd_insn, 9, SUF_L, 0xA4, 0, 0, 0, CPU_386, 0, 0}, + {"cmc", onebyte_insn, 1, SUF_Z, 0xF5, 0, 0, 0, 0, 0, 0}, + {"cmovs", cmovcc_insn, 3, SUF_Z, 0x08, 0, 0, 0, CPU_686, 0, 0}, + {"movlpd", movhlp_insn, 3, SUF_Z, 0x66, 0x12, 0, 0, CPU_SSE2, 0, 0}, + {"calll", call_insn, 30, SUF_L, 0, 0, 0, 0, CPU_386, 0, 0}, + {"subb", arith_insn, 22, SUF_B, 0x28, 0x05, 0, 0, 0, 0, 0}, + {"lmsww", prot286_insn, 1, SUF_W, 0x06, 0x01, 0, 0, CPU_286, CPU_Priv, 0}, + {"vmrun", svm_rax_insn, 2, SUF_Z, 0xD8, 0, 0, 0, CPU_SVM, 0, 0}, + {"cmovna", cmovcc_insn, 3, SUF_Z, 0x06, 0, 0, 0, CPU_686, 0, 0}, + {"cmovnpw", cmovcc_insn, 3, SUF_W, 0x0B, 0, 0, 0, CPU_686, 0, 0}, + {"bextrq", bextr_insn, 4, SUF_Q, 0, 0, 0, ONLY_64|ONLY_AVX, CPU_BMI1, 0, 0}, + {"vpmacssww", vpma_insn, 1, SUF_Z, 0x85, 0, 0, 0, CPU_XOP, 0, 0}, + {"vdivss", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x5E, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"movabsl", movabs_insn, 9, SUF_L, 0, 0, 0, ONLY_64, 0, 0, 0}, + {"callw", call_insn, 30, SUF_W, 0, 0, 0, 0, 0, 0, 0}, + {"vpcomlew", vpcom_insn, 1, SUF_Z, 0xCD, 0x01, 0, 0, CPU_XOP, 0, 0}, + {"fninit", twobyte_insn, 1, SUF_Z, 0xDB, 0xE3, 0, 0, CPU_FPU, 0, 0}, + {"vpavgw", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xE3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vcmpltpd", ssecmp_128_insn, 3, SUF_Z, 0x01, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"cpuid", twobyte_insn, 1, SUF_Z, 0x0F, 0xA2, 0, 0, CPU_486, 0, 0}, + {"pmovzxwq", sse4m32_insn, 4, SUF_Z, 0x34, 0, 0, 0, CPU_SSE41, 0, 0}, + {"cmovnaew", cmovcc_insn, 3, SUF_W, 0x02, 0, 0, 0, CPU_686, 0, 0}, + {"comiss", xmm_xmm32_insn, 4, SUF_Z, 0x00, 0x2F, 0, 0, CPU_SSE, 0, 0}, + {"cmovnoq", cmovcc_insn, 3, SUF_Q, 0x01, 0, 0, ONLY_64, CPU_686, 0, 0}, + {"negb", f6_insn, 4, SUF_B, 0x03, 0, 0, 0, 0, 0, 0}, + {"vfnmadd231sd", vfma_sd_insn, 2, SUF_Z, 0xBD, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"xchgw", xchg_insn, 16, SUF_W, 0, 0, 0, 0, 0, 0, 0}, + {"rexz", NULL, X86_REX>>8, 0x41, 0, 0, 0, ONLY_64, 0, 0, 0}, + {"sbb", arith_insn, 22, SUF_Z, 0x18, 0x03, 0, 0, 0, 0, 0}, + {"lslw", larlsl_insn, 6, SUF_W, 0x03, 0, 0, 0, CPU_286, CPU_Prot, 0}, + {"cmovnzw", cmovcc_insn, 3, SUF_W, 0x05, 0, 0, 0, CPU_686, 0, 0}, + {"vfrczpd", vfrc_pdps_insn, 2, SUF_Z, 0x01, 0, 0, 0, CPU_XOP, 0, 0}, + {"bsrw", bsfr_insn, 3, SUF_W, 0xBD, 0, 0, 0, CPU_386, 0, 0}, + {"fcomps", fcom_insn, 6, SUF_S, 0xD8, 0x03, 0, 0, CPU_FPU, 0, 0}, + {"rorx", vex_gpr_reg_rm_0F_imm8_insn, 2, SUF_Z, 0xF2, 0x3A, 0xF0, ONLY_AVX, CPU_BMI2, 0, 0}, + {"shufpd", xmm_xmm128_imm_insn, 1, SUF_Z, 0x66, 0xC6, 0, 0, CPU_SSE2, 0, 0}, + {"vpcomleq", vpcom_insn, 1, SUF_Z, 0xCF, 0x01, 0, 0, CPU_XOP, 0, 0}, + {"vcmpunordsd", ssecmp_64_insn, 4, SUF_Z, 0x03, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"minps", xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x5D, 0, 0, CPU_SSE, 0, 0}, + {"vaesimc", aesimc_insn, 1, SUF_Z, 0x38, 0xDB, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"movhps", movhlp_insn, 3, SUF_Z, 0x00, 0x16, 0, 0, CPU_SSE, 0, 0}, + {"vdivps", xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x5E, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"filds", fildstp_insn, 4, SUF_S, 0x00, 0x02, 0x05, 0, CPU_FPU, 0, 0}, + {"adc", arith_insn, 22, SUF_Z, 0x10, 0x02, 0, 0, 0, 0, 0}, + {"vtestpd", sse4_insn, 2, SUF_Z, 0x0F, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"pfpnacc", now3d_insn, 1, SUF_Z, 0x8E, 0, 0, 0, CPU_3DNow, CPU_Athlon, 0}, + {"vmovsldup", avx_xmm_xmm128_insn, 2, SUF_Z, 0xF3, 0x12, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vpbroadcastb", vpbroadcastb_avx2_insn, 4, SUF_Z, 0, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, + {"sahf", onebyte_insn, 1, SUF_Z, 0x9E, 0, 0, 0, 0, 0, 0}, + {"vmovhps", movhlp_insn, 3, SUF_Z, 0x00, 0x16, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"fpatan", twobyte_insn, 1, SUF_Z, 0xD9, 0xF3, 0, 0, CPU_FPU, 0, 0}, + {"psubw", mmxsse2_insn, 2, SUF_Z, 0xF9, 0, 0, 0, CPU_MMX, 0, 0}, + {"sqrtss", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x51, 0, 0, CPU_SSE, 0, 0}, + {"vpminuw", ssse3_insn, 5, SUF_Z, 0x3A, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"rex64z", NULL, X86_REX>>8, 0x49, 0, 0, 0, ONLY_64, 0, 0, 0}, + {"cmovng", cmovcc_insn, 3, SUF_Z, 0x0E, 0, 0, 0, CPU_686, 0, 0}, + {"cmovngq", cmovcc_insn, 3, SUF_Q, 0x0E, 0, 0, ONLY_64, CPU_686, 0, 0}, + {"blcil", xop_gpr_reg_rm_09_insn, 2, SUF_L, 0x02, 0x06, 0, 0, CPU_386, CPU_TBM, 0}, + {"setob", setcc_insn, 1, SUF_B, 0x00, 0, 0, 0, CPU_386, 0, 0}, + {"xbts", xbts_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_386, CPU_Obs, CPU_Undoc}, + {"loopne", loop_insn, 8, SUF_Z, 0x00, 0, 0, 0, 0, 0, 0}, + {"fxch", fxch_insn, 4, SUF_Z, 0, 0, 0, 0, CPU_FPU, 0, 0}, + {"vfmsubadd132pd", vfma_pd_insn, 2, SUF_Z, 0x97, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"vmovddup", vmovddup_insn, 3, SUF_Z, 0xF2, 0x12, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"enterq", enter_insn, 3, SUF_Q, 0, 0, 0, ONLY_64, CPU_186, 0, 0}, + {"vpcomnequw", vpcom_insn, 1, SUF_Z, 0xED, 0x05, 0, 0, CPU_XOP, 0, 0}, + {"vpunpckhdq", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x6A, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"fnstenvs", onebytemem_insn, 1, SUF_S, 0x06, 0xD9, 0, 0, CPU_FPU, 0, 0}, + {"phaddd", ssse3_insn, 5, SUF_Z, 0x02, 0, 0, 0, CPU_SSSE3, 0, 0}, + {"vmovups", movau_insn, 6, SUF_Z, 0x00, 0x10, 0x01, ONLY_AVX, CPU_AVX, 0, 0}, + {"vpcomneuq", vpcom_insn, 1, SUF_Z, 0xEF, 0x05, 0, 0, CPU_XOP, 0, 0}, + {"imul", imul_insn, 19, SUF_Z, 0, 0, 0, 0, 0, 0, 0}, + {"fimuls", fiarith_insn, 2, SUF_S, 0x01, 0xDA, 0, 0, CPU_FPU, 0, 0}, + {"jg", jcc_insn, 9, SUF_Z, 0x0F, 0, 0, 0, 0, 0, 0}, + {"fcoml", fcom_insn, 6, SUF_L, 0xD0, 0x02, 0, 0, CPU_FPU, 0, 0}, + {"vxorpd", xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x57, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vfmaddsubps", fma_128_256_insn, 4, SUF_Z, 0x5C, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0}, + {"vpaddw", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xFD, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vbroadcasti128", vbroadcastif128_insn, 1, SUF_Z, 0x5A, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, + {"vcvttpd2dqy", avx_cvt_xmm128_y_insn, 1, SUF_Z, 0x66, 0xE6, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"mov", mov_insn, 69, SUF_Z, 0, 0, 0, 0, 0, 0, 0}, + {"fmull", farith_insn, 7, SUF_L, 0xC8, 0xC8, 0x01, 0, CPU_FPU, 0, 0}, + {"vpcomfalseub", vpcom_insn, 1, SUF_Z, 0xEC, 0x06, 0, 0, CPU_XOP, 0, 0}, + {"xaddq", cmpxchgxadd_insn, 4, SUF_Q, 0xC0, 0, 0, ONLY_64, CPU_486, 0, 0}, + {"inl", in_insn, 12, SUF_L, 0, 0, 0, 0, CPU_386, 0, 0}, + {"t1mskcl", xop_gpr_reg_rm_09_insn, 2, SUF_L, 0x01, 0x07, 0, 0, CPU_386, CPU_TBM, 0}, + {"nop", onebyte_insn, 1, SUF_Z, 0x90, 0, 0, 0, 0, 0, 0}, + {"rexx", NULL, X86_REX>>8, 0x44, 0, 0, 0, ONLY_64, 0, 0, 0}, + {"vperm2f128", vperm2f128_insn, 1, SUF_Z, 0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"tzcnt", cnt_insn, 3, SUF_Z, 0xBC, 0, 0, 0, CPU_BMI1, 0, 0}, + {"hlt", onebyte_insn, 1, SUF_Z, 0xF4, 0, 0, 0, CPU_Priv, 0, 0}, + {"vcmpeq_uqpd", ssecmp_128_insn, 3, SUF_Z, 0x08, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"sgdt", twobytemem_insn, 1, SUF_Z, 0x00, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0}, + {"cwtl", onebyte_insn, 1, SUF_Z, 0x98, 0x20, 0, 0, CPU_386, 0, 0}, + {"xorl", arith_insn, 22, SUF_L, 0x30, 0x06, 0, 0, CPU_386, 0, 0}, + {"movapd", movau_insn, 6, SUF_Z, 0x66, 0x28, 0x01, 0, CPU_SSE2, 0, 0}, + {"vpmovsxwq", sse4m32_insn, 4, SUF_Z, 0x24, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vfmsubadd231pd", vfma_pd_insn, 2, SUF_Z, 0xB7, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"cvttsd2sil", cvt_rx_xmm64_insn, 4, SUF_L, 0xF2, 0x2C, 0, 0, CPU_SSE2, 0, 0}, + {"cmpunordss", ssecmp_32_insn, 4, SUF_Z, 0x03, 0xF3, 0, 0, CPU_SSE, 0, 0}, + {"vpcomneq", vpcom_insn, 1, SUF_Z, 0xCF, 0x05, 0, 0, CPU_XOP, 0, 0}, + {"ffreep", ffree_insn, 1, SUF_Z, 0xDF, 0, 0, 0, CPU_686, CPU_FPU, CPU_Undoc}, + {"vfnmsub213ss", vfma_ss_insn, 2, SUF_Z, 0xAF, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"outsb", onebyte_insn, 1, SUF_Z, 0x6E, 0x00, 0, 0, 0, 0, 0}, + {"psubsiw", cyrixmmx_insn, 1, SUF_Z, 0x55, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0}, + {"jng", jcc_insn, 9, SUF_Z, 0x0E, 0, 0, 0, 0, 0, 0}, + {"vpcomltd", vpcom_insn, 1, SUF_Z, 0xCE, 0x00, 0, 0, CPU_XOP, 0, 0}, + {"t1mskcq", xop_gpr_reg_rm_09_insn, 2, SUF_Q, 0x01, 0x07, 0, ONLY_64, CPU_TBM, 0, 0}, + {"rdmsr", twobyte_insn, 1, SUF_Z, 0x0F, 0x32, 0, 0, CPU_586, CPU_Priv, 0}, + {"notb", f6_insn, 4, SUF_B, 0x02, 0, 0, 0, 0, 0, 0}, + {"idiv", div_insn, 8, SUF_Z, 0x07, 0, 0, 0, 0, 0, 0}, + {"vpshuflw", xmm_xmm128_imm_256avx2_insn, 2, SUF_Z, 0xF2, 0x70, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"paddd", mmxsse2_insn, 2, SUF_Z, 0xFE, 0, 0, 0, CPU_MMX, 0, 0}, + {"tzcntw", cnt_insn, 3, SUF_W, 0xBC, 0, 0, 0, CPU_BMI1, 0, 0}, + {"pcmpgtd", mmxsse2_insn, 2, SUF_Z, 0x66, 0, 0, 0, CPU_MMX, 0, 0}, + {"stosq", onebyte_insn, 1, SUF_Z, 0xAB, 0x40, 0, ONLY_64, 0, 0, 0}, + {"arplw", arpl_insn, 1, SUF_W, 0, 0, 0, NOT_64, CPU_286, CPU_Prot, 0}, + {"vpermilps", vpermil_insn, 4, SUF_Z, 0x04, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vfnmadd231ps", vfma_ps_insn, 2, SUF_Z, 0xBC, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"xadd", cmpxchgxadd_insn, 4, SUF_Z, 0xC0, 0, 0, 0, CPU_486, 0, 0}, + {"shrdl", shlrd_insn, 9, SUF_L, 0xAC, 0, 0, 0, CPU_386, 0, 0}, + {"fscale", twobyte_insn, 1, SUF_Z, 0xD9, 0xFD, 0, 0, CPU_FPU, 0, 0}, + {"rdpmc", twobyte_insn, 1, SUF_Z, 0x0F, 0x33, 0, 0, CPU_686, 0, 0}, + {"cvtpi2ps", cvt_xmm_mm_ps_insn, 1, SUF_Z, 0x2A, 0, 0, 0, CPU_SSE, 0, 0}, + {"cmovgq", cmovcc_insn, 3, SUF_Q, 0x0F, 0, 0, ONLY_64, CPU_686, 0, 0}, + {"vfnmsubps", fma_128_256_insn, 4, SUF_Z, 0x7C, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0}, + {"seto", setcc_insn, 1, SUF_Z, 0x00, 0, 0, 0, CPU_386, 0, 0}, + {"jnae", jcc_insn, 9, SUF_Z, 0x02, 0, 0, 0, 0, 0, 0}, + {"popcntw", cnt_insn, 3, SUF_W, 0xB8, 0, 0, 0, CPU_SSE42, 0, 0}, + {"vpgatherqd", gather_32x_32y_128_insn, 2, SUF_Z, 0x91, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, + {"salc", onebyte_insn, 1, SUF_Z, 0xD6, 0, 0, NOT_64, CPU_Undoc, 0, 0}, + {"vcmpngesd", ssecmp_64_insn, 4, SUF_Z, 0x09, 0xF2, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vpcomgeud", vpcom_insn, 1, SUF_Z, 0xEE, 0x03, 0, 0, CPU_XOP, 0, 0}, + {"blcicq", xop_gpr_reg_rm_09_insn, 2, SUF_Q, 0x01, 0x05, 0, ONLY_64, CPU_TBM, 0, 0}, + {"pcmpestri", sse4pcmpstr_insn, 1, SUF_Z, 0x61, 0, 0, 0, CPU_SSE42, 0, 0}, + {"sarxq", vex_gpr_reg_rm_nds_0F_insn, 2, SUF_Q, 0xF3, 0x38, 0xF7, ONLY_64|ONLY_AVX, CPU_BMI2, 0, 0}, + {"lddqu", lddqu_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_SSE3, 0, 0}, + {"vpcomtruew", vpcom_insn, 1, SUF_Z, 0xCD, 0x07, 0, 0, CPU_XOP, 0, 0}, + {"fxam", twobyte_insn, 1, SUF_Z, 0xD9, 0xE5, 0, 0, CPU_FPU, 0, 0}, + {"crc32b", crc32_insn, 5, SUF_B, 0, 0, 0, 0, CPU_386, CPU_SSE42, 0}, + {"vpinsrw", pinsrw_insn, 9, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vphsubdq", vphaddsub_insn, 1, SUF_Z, 0xE3, 0, 0, 0, CPU_XOP, 0, 0}, + {"vfmsubaddps", fma_128_256_insn, 4, SUF_Z, 0x5E, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0}, + {"btw", bittest_insn, 6, SUF_W, 0xA3, 0x04, 0, 0, CPU_386, 0, 0}, + {"pi2fw", now3d_insn, 1, SUF_Z, 0x0C, 0, 0, 0, CPU_3DNow, CPU_Athlon, 0}, + {"movhlps", movhllhps_insn, 2, SUF_Z, 0x12, 0, 0, 0, CPU_SSE, 0, 0}, + {"divsd", xmm_xmm64_insn, 4, SUF_Z, 0xF2, 0x5E, 0, 0, CPU_SSE2, 0, 0}, + {"vcmpge_oqps", ssecmp_128_insn, 3, SUF_Z, 0x1D, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"rexxyz", NULL, X86_REX>>8, 0x47, 0, 0, 0, ONLY_64, 0, 0, 0}, + {"pf2id", now3d_insn, 1, SUF_Z, 0x1D, 0, 0, 0, CPU_3DNow, 0, 0}, + {"andnps", xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x55, 0, 0, CPU_SSE, 0, 0}, + {"cmovzq", cmovcc_insn, 3, SUF_Q, 0x04, 0, 0, ONLY_64, CPU_686, 0, 0}, + {"cwd", onebyte_insn, 1, SUF_Z, 0x99, 0x10, 0, 0, 0, 0, 0}, + {"blcsl", xop_gpr_reg_rm_09_insn, 2, SUF_L, 0x01, 0x03, 0, 0, CPU_386, CPU_TBM, 0}, + {"maxps", xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x5F, 0, 0, CPU_SSE, 0, 0}, + {"comisd", xmm_xmm64_insn, 4, SUF_Z, 0x66, 0x2F, 0, 0, CPU_SSE2, 0, 0}, + {"vcmpnle_uqps", ssecmp_128_insn, 3, SUF_Z, 0x16, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"cmovnzq", cmovcc_insn, 3, SUF_Q, 0x05, 0, 0, ONLY_64, CPU_686, 0, 0}, + {"ljmpw", ljmpcall_insn, 7, SUF_W, 0x05, 0xEA, 0, 0, 0, 0, 0}, + {"cmpeqps", ssecmp_128_insn, 3, SUF_Z, 0x00, 0, 0, 0, CPU_SSE, 0, 0}, + {"orb", arith_insn, 22, SUF_B, 0x08, 0x01, 0, 0, 0, 0, 0}, + {"fists", fiarith_insn, 2, SUF_S, 0x02, 0xDB, 0, 0, CPU_FPU, 0, 0}, + {"vmaskmovps", vmaskmov_insn, 4, SUF_Z, 0x2C, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"xend", tsx_0x0F_0x01_insn, 1, SUF_Z, 0xD5, 0, 0, 0, CPU_TSX, 0, 0}, + {"fiadd", fiarith_insn, 2, SUF_Z, 0x00, 0xDA, 0, 0, CPU_FPU, 0, 0}, + {"jns", jcc_insn, 9, SUF_Z, 0x09, 0, 0, 0, 0, 0, 0}, + {"vpcomfalseuw", vpcom_insn, 1, SUF_Z, 0xED, 0x06, 0, 0, CPU_XOP, 0, 0}, + {"bsrl", bsfr_insn, 3, SUF_L, 0xBD, 0, 0, 0, CPU_386, 0, 0}, + {"pabsb", ssse3_insn, 5, SUF_Z, 0x1C, 0, 0, 0, CPU_SSSE3, 0, 0}, + {"vcmptruess", ssecmp_32_insn, 4, SUF_Z, 0x0F, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"sal", shift_insn, 16, SUF_Z, 0x04, 0, 0, 0, 0, 0, 0}, + {"movzbl", movszx_insn, 5, SUF_B, 0xB6, 0, 0, 0, CPU_386, 0, 0}, + {"packssdw", mmxsse2_insn, 2, SUF_Z, 0x6B, 0, 0, 0, CPU_MMX, 0, 0}, + {"fcmovbe", fcmovcc_insn, 1, SUF_Z, 0xDA, 0xD0, 0, 0, CPU_686, CPU_FPU, 0}, + {"orq", arith_insn, 22, SUF_Q, 0x08, 0x01, 0, ONLY_64, 0, 0, 0}, + {"blsicq", xop_gpr_reg_rm_09_insn, 2, SUF_Q, 0x01, 0x06, 0, ONLY_64, CPU_TBM, 0, 0}, + {"fiaddl", fiarith_insn, 2, SUF_L, 0x00, 0xDA, 0, 0, CPU_FPU, 0, 0}, + {"fprem", twobyte_insn, 1, SUF_Z, 0xD9, 0xF8, 0, 0, CPU_FPU, 0, 0}, + {"vpcomltw", vpcom_insn, 1, SUF_Z, 0xCD, 0x00, 0, 0, CPU_XOP, 0, 0}, + {"sarl", shift_insn, 16, SUF_L, 0x07, 0, 0, 0, CPU_386, 0, 0}, + {"shr", shift_insn, 16, SUF_Z, 0x05, 0, 0, 0, 0, 0, 0}, + {"pushl", push_insn, 35, SUF_L, 0, 0, 0, 0, CPU_386, 0, 0}, + {"imull", imul_insn, 19, SUF_L, 0, 0, 0, 0, CPU_386, 0, 0}, + {"ftst", twobyte_insn, 1, SUF_Z, 0xD9, 0xE4, 0, 0, CPU_FPU, 0, 0}, + {"vcmpeqps", ssecmp_128_insn, 3, SUF_Z, 0x00, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"lcalll", ljmpcall_insn, 7, SUF_L, 0x03, 0x9A, 0, 0, CPU_386, 0, 0}, + {"lock", NULL, X86_LOCKREP>>8, 0xF0, 0, 0, 0, 0, 0, 0, 0}, + {"cmovnbw", cmovcc_insn, 3, SUF_W, 0x03, 0, 0, 0, CPU_686, 0, 0}, + {"movzxw", movszx_insn, 5, SUF_W, 0xB6, 0, 0, 0, CPU_386, 0, 0}, + {"or", arith_insn, 22, SUF_Z, 0x08, 0x01, 0, 0, 0, 0, 0}, + {"vcmpnle_uqpd", ssecmp_128_insn, 3, SUF_Z, 0x16, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"setl", setcc_insn, 1, SUF_Z, 0x0C, 0, 0, 0, CPU_386, 0, 0}, + {"movntiq", movnti_insn, 2, SUF_Q, 0, 0, 0, ONLY_64, CPU_P4, 0, 0}, + {"lfs", lfgss_insn, 3, SUF_Z, 0xB4, 0, 0, 0, CPU_386, 0, 0}, + {"vroundss", sse4m32imm_insn, 4, SUF_Z, 0x0A, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"setzb", setcc_insn, 1, SUF_B, 0x04, 0, 0, 0, CPU_386, 0, 0}, + {"pcmpistrm", sse4pcmpstr_insn, 1, SUF_Z, 0x62, 0, 0, 0, CPU_SSE42, 0, 0}, + {"je", jcc_insn, 9, SUF_Z, 0x04, 0, 0, 0, 0, 0, 0}, + {"psraw", pshift_insn, 4, SUF_Z, 0xE1, 0x71, 0x04, 0, CPU_MMX, 0, 0}, + {"shlx", vex_gpr_reg_rm_nds_0F_insn, 2, SUF_Z, 0x66, 0x38, 0xF7, ONLY_AVX, CPU_BMI2, 0, 0}, + {"mfence", threebyte_insn, 1, SUF_Z, 0x0F, 0xAE, 0xF0, 0, CPU_P3, 0, 0}, + {"vcvtsd2siq", cvt_rx_xmm64_insn, 4, SUF_Q, 0xF2, 0x2D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vtestps", sse4_insn, 2, SUF_Z, 0x0E, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"verww", prot286_insn, 1, SUF_W, 0x05, 0x00, 0, 0, CPU_286, CPU_Prot, 0}, + {"vfmsubaddpd", fma_128_256_insn, 4, SUF_Z, 0x5F, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0}, + {"fyl2xp1", twobyte_insn, 1, SUF_Z, 0xD9, 0xF9, 0, 0, CPU_FPU, 0, 0}, + {"vunpckhpd", xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x15, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vsubps", xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x5C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"divss", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x5E, 0, 0, CPU_SSE, 0, 0}, + {"blcfilll", xop_gpr_reg_rm_09_insn, 2, SUF_L, 0x01, 0x01, 0, 0, CPU_386, CPU_TBM, 0}, + {"vcmptrue_uspd", ssecmp_128_insn, 3, SUF_Z, 0x1F, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vorpd", xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x56, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"setgeb", setcc_insn, 1, SUF_B, 0x0D, 0, 0, 0, CPU_386, 0, 0}, + {"vmxon", vmxthreebytemem_insn, 1, SUF_Z, 0xF3, 0, 0, 0, CPU_P4, 0, 0}, + {"vpmaskmovd", vmaskmov_insn, 4, SUF_Z, 0x8C, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, + {"vfnmaddpd", fma_128_256_insn, 4, SUF_Z, 0x79, 0, 0, ONLY_AVX, CPU_FMA4, 0, 0}, + {"cmovpl", cmovcc_insn, 3, SUF_L, 0x0A, 0, 0, 0, CPU_686, 0, 0}, + {"pabsw", ssse3_insn, 5, SUF_Z, 0x1D, 0, 0, 0, CPU_SSSE3, 0, 0}, + {"cmovnge", cmovcc_insn, 3, SUF_Z, 0x0C, 0, 0, 0, CPU_686, 0, 0}, + {"aword", NULL, X86_ADDRSIZE>>8, 0x10, 0, 0, 0, 0, 0, 0, 0}, + {"sscaq", onebyte_insn, 1, SUF_Z, 0xAF, 0x40, 0, ONLY_64, 0, 0, 0}, + {"fstenvs", twobytemem_insn, 1, SUF_S, 0x06, 0x9B, 0xD9, 0, CPU_FPU, 0, 0}, + {"vpmovzxbw", sse4m64_insn, 4, SUF_Z, 0x30, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vpsllw", vpshift_insn, 8, SUF_Z, 0xF1, 0x71, 0x06, ONLY_AVX, CPU_AVX, 0, 0}, + {"vpabsw", avx2_ssse3_2op_insn, 2, SUF_Z, 0x1D, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"popf", onebyte_insn, 1, SUF_Z, 0x9D, 0x00, 0x40, 0, 0, 0, 0}, + {"vcmpunord_sss", ssecmp_32_insn, 4, SUF_Z, 0x13, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"bsf", bsfr_insn, 3, SUF_Z, 0xBC, 0, 0, 0, CPU_386, 0, 0}, + {"cmovaw", cmovcc_insn, 3, SUF_W, 0x07, 0, 0, 0, CPU_686, 0, 0}, + {"psrlq", pshift_insn, 4, SUF_Z, 0xD3, 0x73, 0x02, 0, CPU_MMX, 0, 0}, + {"divw", div_insn, 8, SUF_W, 0x06, 0, 0, 0, 0, 0, 0}, + {"cmovnal", cmovcc_insn, 3, SUF_L, 0x06, 0, 0, 0, CPU_686, 0, 0}, + {"vpcmpeqq", ssse3_insn, 5, SUF_Z, 0x29, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"cmovnaq", cmovcc_insn, 3, SUF_Q, 0x06, 0, 0, ONLY_64, CPU_686, 0, 0}, + {"cmove", cmovcc_insn, 3, SUF_Z, 0x04, 0, 0, 0, CPU_686, 0, 0}, + {"popaw", onebyte_insn, 1, SUF_Z, 0x61, 0x10, 0, NOT_64, CPU_186, 0, 0}, + {"invvpidq", eptvpid_insn, 2, SUF_Q, 0x01, 0, 0, ONLY_64, CPU_EPTVPID, 0, 0}, + {"vcvtdq2ps", avx_xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x5B, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vrcpps", avx_xmm_xmm128_insn, 2, SUF_Z, 0x00, 0x53, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"packsswb", mmxsse2_insn, 2, SUF_Z, 0x63, 0, 0, 0, CPU_MMX, 0, 0}, + {"sarw", shift_insn, 16, SUF_W, 0x07, 0, 0, 0, 0, 0, 0}, + {"pfrcpit1", now3d_insn, 1, SUF_Z, 0xA6, 0, 0, 0, CPU_3DNow, 0, 0}, + {"btcl", bittest_insn, 6, SUF_L, 0xBB, 0x07, 0, 0, CPU_386, 0, 0}, + {"rolb", shift_insn, 16, SUF_B, 0x00, 0, 0, 0, 0, 0, 0}, + {"vphadddq", vphaddsub_insn, 1, SUF_Z, 0xCB, 0, 0, 0, CPU_XOP, 0, 0}, + {"vpmaxsw", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xEE, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vpminsw", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xEA, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"jnz", jcc_insn, 9, SUF_Z, 0x05, 0, 0, 0, 0, 0, 0}, + {"vphsubd", ssse3_insn, 5, SUF_Z, 0x06, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vblendvps", avx_sse4xmm0_insn, 2, SUF_Z, 0x4A, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vhaddps", xmm_xmm128_256_insn, 4, SUF_Z, 0xF2, 0x7C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"lidtl", twobytemem_insn, 1, SUF_L, 0x03, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0}, + {"divq", div_insn, 8, SUF_Q, 0x06, 0, 0, ONLY_64, 0, 0, 0}, + {"outb", out_insn, 12, SUF_B, 0, 0, 0, 0, 0, 0, 0}, + {"setnsb", setcc_insn, 1, SUF_B, 0x09, 0, 0, 0, CPU_386, 0, 0}, + {"vcmpfalse_ospd", ssecmp_128_insn, 3, SUF_Z, 0x1B, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"jnb", jcc_insn, 9, SUF_Z, 0x03, 0, 0, 0, 0, 0, 0}, + {"vpmovsxdq", sse4m64_insn, 4, SUF_Z, 0x25, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"adcw", arith_insn, 22, SUF_W, 0x10, 0x02, 0, 0, 0, 0, 0}, + {"cmovbel", cmovcc_insn, 3, SUF_L, 0x06, 0, 0, 0, CPU_686, 0, 0}, + {"cmovaeq", cmovcc_insn, 3, SUF_Q, 0x03, 0, 0, ONLY_64, CPU_686, 0, 0}, + {"fcmovnu", fcmovcc_insn, 1, SUF_Z, 0xDB, 0xD8, 0, 0, CPU_686, CPU_FPU, 0}, + {"idivb", div_insn, 8, SUF_B, 0x07, 0, 0, 0, 0, 0, 0}, + {"sgdtl", twobytemem_insn, 1, SUF_L, 0x00, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0}, + {"jmpl", jmp_insn, 31, SUF_L, 0, 0, 0, 0, CPU_386, 0, 0}, + {"fisttp", fildstp_insn, 4, SUF_Z, 0x01, 0x00, 0x01, 0, CPU_SSE3, 0, 0}, + {"vcmpord_sps", ssecmp_128_insn, 3, SUF_Z, 0x17, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"haddps", xmm_xmm128_insn, 2, SUF_Z, 0xF2, 0x7C, 0, 0, CPU_SSE3, 0, 0}, + {"rolw", shift_insn, 16, SUF_W, 0x00, 0, 0, 0, 0, 0, 0}, + {"vcvtpd2dqy", avx_cvt_xmm128_y_insn, 1, SUF_Z, 0xF2, 0xE6, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"bt", bittest_insn, 6, SUF_Z, 0xA3, 0x04, 0, 0, CPU_386, 0, 0}, + {"vcmpfalsepd", ssecmp_128_insn, 3, SUF_Z, 0x0B, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vcmpleps", ssecmp_128_insn, 3, SUF_Z, 0x02, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vphaddubd", vphaddsub_insn, 1, SUF_Z, 0xD2, 0, 0, 0, CPU_XOP, 0, 0}, + {"vfnmsub132ss", vfma_ss_insn, 2, SUF_Z, 0x9F, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"cmovnow", cmovcc_insn, 3, SUF_W, 0x01, 0, 0, 0, CPU_686, 0, 0}, + {"cvtps2dq", xmm_xmm128_insn, 2, SUF_Z, 0x66, 0x5B, 0, 0, CPU_SSE2, 0, 0}, + {"bsrq", bsfr_insn, 3, SUF_Q, 0xBD, 0, 0, ONLY_64, CPU_386, 0, 0}, + {"vcmpord_spd", ssecmp_128_insn, 3, SUF_Z, 0x17, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vpcomd", vpcom_imm_insn, 1, SUF_Z, 0xCE, 0, 0, 0, CPU_XOP, 0, 0}, + {"jnle", jcc_insn, 9, SUF_Z, 0x0F, 0, 0, 0, 0, 0, 0}, + {"vhsubps", xmm_xmm128_256_insn, 4, SUF_Z, 0xF2, 0x7D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"jcxz", jcxz_insn, 2, SUF_Z, 0x10, 0, 0, 0, 0, 0, 0}, + {"fsavel", twobytemem_insn, 1, SUF_L, 0x06, 0x9B, 0xDD, 0, CPU_FPU, 0, 0}, + {"cmovnbq", cmovcc_insn, 3, SUF_Q, 0x03, 0, 0, ONLY_64, CPU_686, 0, 0}, + {"lidtw", twobytemem_insn, 1, SUF_W, 0x03, 0x0F, 0x01, 0, CPU_286, CPU_Priv, 0}, + {"vcvtss2si", cvt_rx_xmm32_insn, 4, SUF_Z, 0xF3, 0x2D, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"mulw", f6_insn, 4, SUF_W, 0x04, 0, 0, 0, 0, 0, 0}, + {"vbroadcastsd", vbroadcastsd_insn, 2, SUF_Z, 0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"cmovlel", cmovcc_insn, 3, SUF_L, 0x0E, 0, 0, 0, CPU_686, 0, 0}, + {"pmovmskbq", pmovmskb_insn, 6, SUF_Q, 0, 0, 0, ONLY_64, CPU_MMX, CPU_P3, 0}, + {"frstorl", onebytemem_insn, 1, SUF_L, 0x04, 0xDD, 0, 0, CPU_FPU, 0, 0}, + {"cvttss2si", cvt_rx_xmm32_insn, 4, SUF_Z, 0xF3, 0x2C, 0, 0, CPU_386, CPU_SSE, 0}, + {"cmpnltpd", ssecmp_128_insn, 3, SUF_Z, 0x05, 0x66, 0, 0, CPU_SSE, 0, 0}, + {"vpcomgtw", vpcom_insn, 1, SUF_Z, 0xCD, 0x02, 0, 0, CPU_XOP, 0, 0}, + {"xaddl", cmpxchgxadd_insn, 4, SUF_L, 0xC0, 0, 0, 0, CPU_486, 0, 0}, + {"vpmulhw", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xE5, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"lgsq", lfgss_insn, 3, SUF_Q, 0xB5, 0, 0, ONLY_64, CPU_386, 0, 0}, + {"boundl", bound_insn, 2, SUF_L, 0, 0, 0, NOT_64, CPU_386, 0, 0}, + {"vmaxpd", xmm_xmm128_256_insn, 4, SUF_Z, 0x66, 0x5F, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"movntdqa", movntdqa_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_SSE41, 0, 0}, + {"xstorerng", padlock_insn, 1, SUF_Z, 0xC0, 0x00, 0xA7, 0, CPU_PadLock, 0, 0}, + {"fxsaveq", twobytemem_insn, 1, SUF_Q, 0x00, 0x0F, 0xAE, 0, CPU_686, CPU_FPU, 0}, + {"cmplepd", ssecmp_128_insn, 3, SUF_Z, 0x02, 0x66, 0, 0, CPU_SSE, 0, 0}, + {"vpunpckhwd", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x69, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"fiadds", fiarith_insn, 2, SUF_S, 0x00, 0xDA, 0, 0, CPU_FPU, 0, 0}, + {"bsfq", bsfr_insn, 3, SUF_Q, 0xBC, 0, 0, ONLY_64, CPU_386, 0, 0}, + {"cvtss2si", cvt_rx_xmm32_insn, 4, SUF_Z, 0xF3, 0x2D, 0, 0, CPU_386, CPU_SSE, 0}, + {"pushw", push_insn, 35, SUF_W, 0, 0, 0, 0, 0, 0, 0}, + {"vphaddsw", ssse3_insn, 5, SUF_Z, 0x03, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"prefetcht2", twobytemem_insn, 1, SUF_Z, 0x03, 0x0F, 0x18, 0, CPU_P3, 0, 0}, + {"setnae", setcc_insn, 1, SUF_Z, 0x02, 0, 0, 0, CPU_386, 0, 0}, + {"xor", arith_insn, 22, SUF_Z, 0x30, 0x06, 0, 0, 0, 0, 0}, + {"pshufw", pshufw_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_MMX, CPU_P3, 0}, + {"div", div_insn, 8, SUF_Z, 0x06, 0, 0, 0, 0, 0, 0}, + {"xabort", tsx_xabort_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_TSX, 0, 0}, + {"vmovntdq", movnt_insn, 2, SUF_Z, 0x66, 0xE7, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"das", onebyte_insn, 1, SUF_Z, 0x2F, 0, 0, NOT_64, 0, 0, 0}, + {"notw", f6_insn, 4, SUF_W, 0x02, 0, 0, 0, 0, 0, 0}, + {"monitor", threebyte_insn, 1, SUF_Z, 0x0F, 0x01, 0xC8, 0, CPU_SSE3, 0, 0}, + {"pmuludq", mmxsse2_insn, 2, SUF_Z, 0xF4, 0, 0, 0, CPU_SSE2, 0, 0}, + {"psignd", ssse3_insn, 5, SUF_Z, 0x0A, 0, 0, 0, CPU_SSSE3, 0, 0}, + {"vpmaxuw", ssse3_insn, 5, SUF_Z, 0x3E, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"rexxy", NULL, X86_REX>>8, 0x46, 0, 0, 0, ONLY_64, 0, 0, 0}, + {"vcmpnlt_uqps", ssecmp_128_insn, 3, SUF_Z, 0x15, 0x00, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"decq", incdec_insn, 6, SUF_Q, 0x48, 0x01, 0, ONLY_64, 0, 0, 0}, + {"fsub", farith_insn, 7, SUF_Z, 0xE8, 0xE0, 0x04, 0, CPU_FPU, 0, 0}, + {"ficoms", fiarith_insn, 2, SUF_S, 0x02, 0xDA, 0, 0, CPU_FPU, 0, 0}, + {"btrw", bittest_insn, 6, SUF_W, 0xB3, 0x06, 0, 0, CPU_386, 0, 0}, + {"vfnmsub213sd", vfma_sd_insn, 2, SUF_Z, 0xAF, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"setnob", setcc_insn, 1, SUF_B, 0x01, 0, 0, 0, CPU_386, 0, 0}, + {"vpcomgeub", vpcom_insn, 1, SUF_Z, 0xEC, 0x03, 0, 0, CPU_XOP, 0, 0}, + {"cmovz", cmovcc_insn, 3, SUF_Z, 0x04, 0, 0, 0, CPU_686, 0, 0}, + {"vpackuswb", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x67, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"cli", onebyte_insn, 1, SUF_Z, 0xFA, 0, 0, 0, 0, 0, 0}, + {"pinsrd", pinsrd_insn, 2, SUF_Z, 0, 0, 0, 0, CPU_386, CPU_SSE41, 0}, + {"vfmsubadd213pd", vfma_pd_insn, 2, SUF_Z, 0xA7, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"setnab", setcc_insn, 1, SUF_B, 0x06, 0, 0, 0, CPU_386, 0, 0}, + {"larw", larlsl_insn, 6, SUF_W, 0x02, 0, 0, 0, CPU_286, CPU_Prot, 0}, + {"pusha", onebyte_insn, 1, SUF_Z, 0x60, 0x00, 0, NOT_64, CPU_186, 0, 0}, + {"pfadd", now3d_insn, 1, SUF_Z, 0x9E, 0, 0, 0, CPU_3DNow, 0, 0}, + {"bzhil", vex_gpr_reg_rm_nds_0F_insn, 2, SUF_L, 0x00, 0x38, 0xF5, ONLY_AVX, CPU_BMI2, 0, 0}, + {"cmovpoq", cmovcc_insn, 3, SUF_Q, 0x0B, 0, 0, ONLY_64, CPU_686, 0, 0}, + {"blsfill", xop_gpr_reg_rm_09_insn, 2, SUF_Z, 0x01, 0x02, 0, 0, CPU_386, CPU_TBM, 0}, + {"cdq", onebyte_insn, 1, SUF_Z, 0x99, 0x20, 0, 0, CPU_386, 0, 0}, + {"cvtss2siq", cvt_rx_xmm32_insn, 4, SUF_Q, 0xF3, 0x2D, 0, ONLY_64, CPU_SSE, 0, 0}, + {"cmovnb", cmovcc_insn, 3, SUF_Z, 0x03, 0, 0, 0, CPU_686, 0, 0}, + {"vcvttsd2siq", cvt_rx_xmm64_insn, 4, SUF_Q, 0xF2, 0x2C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"setae", setcc_insn, 1, SUF_Z, 0x03, 0, 0, 0, CPU_386, 0, 0}, + {"movntps", movnt_insn, 2, SUF_Z, 0x00, 0x2B, 0, 0, CPU_SSE, 0, 0}, + {"vcmpneq_oqpd", ssecmp_128_insn, 3, SUF_Z, 0x0C, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"lssq", lfgss_insn, 3, SUF_Q, 0xB2, 0, 0, ONLY_64, CPU_386, 0, 0}, + {"jpe", jcc_insn, 9, SUF_Z, 0x0A, 0, 0, 0, 0, 0, 0}, + {"fstcww", fstcw_insn, 1, SUF_W, 0, 0, 0, 0, CPU_FPU, 0, 0}, + {"fnsave", onebytemem_insn, 1, SUF_Z, 0x06, 0xDD, 0, 0, CPU_FPU, 0, 0}, + {"movntsd", movntsd_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SSE4a, 0, 0}, + {"pblendvb", sse4xmm0_insn, 2, SUF_Z, 0x10, 0, 0, 0, CPU_SSE41, 0, 0}, + {"enterw", enter_insn, 3, SUF_W, 0, 0, 0, 0, CPU_186, 0, 0}, + {"larl", larlsl_insn, 6, SUF_L, 0x02, 0, 0, 0, CPU_286, CPU_Prot, 0}, + {"blendvps", sse4xmm0_insn, 2, SUF_Z, 0x14, 0, 0, 0, CPU_SSE41, 0, 0}, + {"pdepl", vex_gpr_reg_nds_rm_0F_insn, 2, SUF_L, 0xF2, 0x38, 0xF5, ONLY_AVX, CPU_BMI2, 0, 0}, + {"jecxz", jcxz_insn, 2, SUF_Z, 0x20, 0, 0, 0, CPU_386, 0, 0}, + {"blcmsk", xop_gpr_reg_rm_09_insn, 2, SUF_Z, 0x02, 0x01, 0, 0, CPU_386, CPU_TBM, 0}, + {"vpshad", amd_vpshift_insn, 2, SUF_Z, 0x9A, 0, 0, 0, CPU_XOP, 0, 0}, + {"smsw", sldtmsw_insn, 6, SUF_Z, 0x04, 0x01, 0, 0, CPU_286, 0, 0}, + {"vcvttps2dq", avx_xmm_xmm128_insn, 2, SUF_Z, 0xF3, 0x5B, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vcvttss2si", cvt_rx_xmm32_insn, 4, SUF_Z, 0xF3, 0x2C, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"cmovcw", cmovcc_insn, 3, SUF_W, 0x02, 0, 0, 0, CPU_686, 0, 0}, + {"vpsubsb", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0xE8, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"pfsubr", now3d_insn, 1, SUF_Z, 0xAA, 0, 0, 0, CPU_3DNow, 0, 0}, + {"dpps", sse4imm_insn, 2, SUF_Z, 0x40, 0, 0, 0, CPU_SSE41, 0, 0}, + {"pmulhrwc", cyrixmmx_insn, 1, SUF_Z, 0x59, 0, 0, 0, CPU_Cyrix, CPU_MMX, 0}, + {"fdecstp", twobyte_insn, 1, SUF_Z, 0xD9, 0xF6, 0, 0, CPU_FPU, 0, 0}, + {"fld1", twobyte_insn, 1, SUF_Z, 0xD9, 0xE8, 0, 0, CPU_FPU, 0, 0}, + {"lslq", larlsl_insn, 6, SUF_Q, 0x03, 0, 0, ONLY_64, CPU_286, CPU_Prot, 0}, + {"movsldup", xmm_xmm128_insn, 2, SUF_Z, 0xF3, 0x12, 0, 0, CPU_SSE3, 0, 0}, + {"vfnmadd213ps", vfma_ps_insn, 2, SUF_Z, 0xAC, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"vorps", xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x56, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"fxtract", twobyte_insn, 1, SUF_Z, 0xD9, 0xF4, 0, 0, CPU_FPU, 0, 0}, + {"xrstor", twobytemem_insn, 1, SUF_Z, 0x05, 0x0F, 0xAE, 0, CPU_386, CPU_XSAVE, 0}, + {"vfnmadd132pd", vfma_pd_insn, 2, SUF_Z, 0x9C, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"cmovsw", cmovcc_insn, 3, SUF_W, 0x08, 0, 0, 0, CPU_686, 0, 0}, + {"vpcomnew", vpcom_insn, 1, SUF_Z, 0xCD, 0x05, 0, 0, CPU_XOP, 0, 0}, + {"cmovc", cmovcc_insn, 3, SUF_Z, 0x02, 0, 0, 0, CPU_686, 0, 0}, + {"cmpxchg8bq", cmpxchg8b_insn, 1, SUF_Q, 0, 0, 0, 0, CPU_586, 0, 0}, + {"roundss", sse4m32imm_insn, 4, SUF_Z, 0x0A, 0, 0, 0, CPU_SSE41, 0, 0}, + {"vsqrtss", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x51, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"rcrb", shift_insn, 16, SUF_B, 0x03, 0, 0, 0, 0, 0, 0}, + {"vmptrld", vmxtwobytemem_insn, 1, SUF_Z, 0x06, 0, 0, 0, CPU_P4, 0, 0}, + {"popal", onebyte_insn, 1, SUF_Z, 0x61, 0x20, 0, NOT_64, CPU_386, 0, 0}, + {"sysretq", twobyte_insn, 1, SUF_Q, 0x0F, 0x07, 0, 0, CPU_686, CPU_AMD, CPU_Priv}, + {"setle", setcc_insn, 1, SUF_Z, 0x0E, 0, 0, 0, CPU_386, 0, 0}, + {"jnl", jcc_insn, 9, SUF_Z, 0x0D, 0, 0, 0, 0, 0, 0}, + {"ucomisd", xmm_xmm64_insn, 4, SUF_Z, 0x66, 0x2E, 0, 0, CPU_SSE2, 0, 0}, + {"sbbw", arith_insn, 22, SUF_W, 0x18, 0x03, 0, 0, 0, 0, 0}, + {"fbstp", fbldstp_insn, 1, SUF_Z, 0x06, 0, 0, 0, CPU_FPU, 0, 0}, + {"vpcomtrueub", vpcom_insn, 1, SUF_Z, 0xEC, 0x07, 0, 0, CPU_XOP, 0, 0}, + {"paddb", mmxsse2_insn, 2, SUF_Z, 0xFC, 0, 0, 0, CPU_MMX, 0, 0}, + {"cmovnll", cmovcc_insn, 3, SUF_L, 0x0D, 0, 0, 0, CPU_686, 0, 0}, + {"cvtss2sd", xmm_xmm32_insn, 4, SUF_Z, 0xF3, 0x5A, 0, 0, CPU_SSE2, 0, 0}, + {"vpcmpeqd", xmm_xmm128_256avx2_insn, 4, SUF_Z, 0x66, 0x76, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"cmovnl", cmovcc_insn, 3, SUF_Z, 0x0D, 0, 0, 0, CPU_686, 0, 0}, + {"vpcomltb", vpcom_insn, 1, SUF_Z, 0xCC, 0x00, 0, 0, CPU_XOP, 0, 0}, + {"setngb", setcc_insn, 1, SUF_B, 0x0E, 0, 0, 0, CPU_386, 0, 0}, + {"vphaddudq", vphaddsub_insn, 1, SUF_Z, 0xDB, 0, 0, 0, CPU_XOP, 0, 0}, + {"vpmovsxbd", sse4m32_insn, 4, SUF_Z, 0x21, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"loopzq", loopq_insn, 4, SUF_Z, 0x01, 0x40, 0, ONLY_64, 0, 0, 0}, + {"cmovnle", cmovcc_insn, 3, SUF_Z, 0x0F, 0, 0, 0, CPU_686, 0, 0}, + {"vcmpgepd", ssecmp_128_insn, 3, SUF_Z, 0x0D, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"btcq", bittest_insn, 6, SUF_Q, 0xBB, 0x07, 0, ONLY_64, CPU_386, 0, 0}, + {"rcrl", shift_insn, 16, SUF_L, 0x03, 0, 0, 0, CPU_386, 0, 0}, + {"vmovntdqa", movntdqa_insn, 2, SUF_Z, 0xC0, 0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"cmovcl", cmovcc_insn, 3, SUF_L, 0x02, 0, 0, 0, CPU_686, 0, 0}, + {"vcmpeq_ospd", ssecmp_128_insn, 3, SUF_Z, 0x10, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"f2xm1", twobyte_insn, 1, SUF_Z, 0xD9, 0xF0, 0, 0, CPU_FPU, 0, 0}, + {"vpmacssdd", vpma_insn, 1, SUF_Z, 0x8E, 0, 0, 0, CPU_XOP, 0, 0}, + {"leal", lea_insn, 3, SUF_L, 0, 0, 0, 0, CPU_386, 0, 0}, + {"vpcomeqd", vpcom_insn, 1, SUF_Z, 0xCE, 0x04, 0, 0, CPU_XOP, 0, 0}, + {"ljmpq", ljmpcall_insn, 7, SUF_Q, 0x05, 0xEA, 0, ONLY_64, 0, 0, 0}, + {"vpbroadcastd", vpbroadcastd_avx2_insn, 4, SUF_Z, 0, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, + {"jnp", jcc_insn, 9, SUF_Z, 0x0B, 0, 0, 0, 0, 0, 0}, + {"vpcomgeuq", vpcom_insn, 1, SUF_Z, 0xEF, 0x03, 0, 0, CPU_XOP, 0, 0}, + {"prefetchnta", twobytemem_insn, 1, SUF_Z, 0x00, 0x0F, 0x18, 0, CPU_P3, 0, 0}, + {"bswapl", bswap_insn, 2, SUF_L, 0, 0, 0, 0, CPU_486, 0, 0}, + {"pmovsxbd", sse4m32_insn, 4, SUF_Z, 0x21, 0, 0, 0, CPU_SSE41, 0, 0}, + {"lzcnt", cnt_insn, 3, SUF_Z, 0xBD, 0, 0, 0, CPU_LZCNT, 0, 0}, + {"sha256msg1", intel_SHA256MSG1_insn, 1, SUF_Z, 0, 0, 0, 0, CPU_SHA, 0, 0}, + {"cmovnaw", cmovcc_insn, 3, SUF_W, 0x06, 0, 0, 0, CPU_686, 0, 0}, + {"ficom", fiarith_insn, 2, SUF_Z, 0x02, 0xDA, 0, 0, CPU_FPU, 0, 0}, + {"vmovntpd", movnt_insn, 2, SUF_Z, 0x66, 0x2B, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vcmpngess", ssecmp_32_insn, 4, SUF_Z, 0x09, 0xF3, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"fisubr", fiarith_insn, 2, SUF_Z, 0x05, 0xDA, 0, 0, CPU_FPU, 0, 0}, + {"vfmaddsub132ps", vfma_ps_insn, 2, SUF_Z, 0x96, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"vaddsubps", xmm_xmm128_256_insn, 4, SUF_Z, 0xF2, 0xD0, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"vpbroadcastq", vpbroadcastq_avx2_insn, 4, SUF_Z, 0, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, + {"cmovlq", cmovcc_insn, 3, SUF_Q, 0x0C, 0, 0, ONLY_64, CPU_686, 0, 0}, + {"inveptq", eptvpid_insn, 2, SUF_Q, 0x00, 0, 0, ONLY_64, CPU_EPTVPID, 0, 0}, + {"vmulps", xmm_xmm128_256_insn, 4, SUF_Z, 0x00, 0x59, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"pclmulqdq", pclmulqdq_insn, 2, SUF_Z, 0x3A, 0x44, 0, 0, CPU_AVX, 0, 0}, + {"vfmsub213ps", vfma_ps_insn, 2, SUF_Z, 0xAA, 0, 0, ONLY_AVX, CPU_FMA, 0, 0}, + {"phsubd", ssse3_insn, 5, SUF_Z, 0x06, 0, 0, 0, CPU_SSSE3, 0, 0}, + {"fmulp", farithp_insn, 3, SUF_Z, 0xC8, 0, 0, 0, CPU_FPU, 0, 0}, + {"lcallw", ljmpcall_insn, 7, SUF_W, 0x03, 0x9A, 0, 0, 0, 0, 0}, + {"fisub", fiarith_insn, 2, SUF_Z, 0x04, 0xDA, 0, 0, CPU_FPU, 0, 0}, + {"vpackusdw", ssse3_insn, 5, SUF_Z, 0x2B, 0xC0, 0, ONLY_AVX, CPU_AVX, 0, 0}, + {"smintold", twobyte_insn, 1, SUF_Z, 0x0F, 0x7E, 0, 0, CPU_486, CPU_Cyrix, CPU_Obs}, + {"vpgatherqq", gather_64x_64y_insn, 2, SUF_Z, 0x91, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, + {"vcmpneq_uspd", ssecmp_128_insn, 3, SUF_Z, 0x14, 0x66, 0xC0, ONLY_AVX, CPU_AVX, 0, 0}, + {"blsiq", vex_gpr_ndd_rm_0F38_regext_insn, 2, SUF_Q, 0x00, 0xF3, 0x03, ONLY_64|ONLY_AVX, CPU_BMI1, 0, 0}, + {"ltr", prot286_insn, 1, SUF_Z, 0x03, 0x00, 0, 0, CPU_286, CPU_Priv, CPU_Prot}, + {"fild", fildstp_insn, 4, SUF_Z, 0x00, 0x02, 0x05, 0, CPU_FPU, 0, 0}, + {"fldenvs", onebytemem_insn, 1, SUF_S, 0x04, 0xD9, 0, 0, CPU_FPU, 0, 0}, + {"vmovdqa", movau_insn, 6, SUF_Z, 0x66, 0x6F, 0x10, ONLY_AVX, CPU_AVX, 0, 0}, + {"shrxq", vex_gpr_reg_rm_nds_0F_insn, 2, SUF_Q, 0xF2, 0x38, 0xF7, ONLY_64|ONLY_AVX, CPU_BMI2, 0, 0}, + {"fcmove", fcmovcc_insn, 1, SUF_Z, 0xDA, 0xC8, 0, 0, CPU_686, CPU_FPU, 0}, + {"shrl", shift_insn, 16, SUF_L, 0x05, 0, 0, 0, CPU_386, 0, 0}, + {"rclq", shift_insn, 16, SUF_Q, 0x02, 0, 0, ONLY_64, 0, 0, 0}, + {"fnsavel", onebytemem_insn, 1, SUF_L, 0x06, 0xDD, 0, 0, CPU_FPU, 0, 0}, + {"vgatherdpd", gather_64x_64x_insn, 2, SUF_Z, 0x92, 0, 0, ONLY_AVX, CPU_AVX2, 0, 0}, + {"pushaw", onebyte_insn, 1, SUF_Z, 0x60, 0x10, 0, NOT_64, CPU_186, 0, 0} + }; + static const unsigned short tab[] = { + 555,1559,555,108,108,1495,0,108,0,0,2332,555,1208,0,108,1317, + 1317,1732,0,0,1495,555,463,517,1636,1317,988,0,1317,0,555,555, + 1929,108,1325,0,274,555,1633,1633,555,555,1325,555,2040,274,1325,1383, + 555,1383,0,555,1317,988,1732,555,274,1636,1633,1602,1325,1383,0,0, + 1325,1929,2332,1514,1383,108,0,0,1383,0,0,988,1317,274,1325,1633, + 1325,517,1383,0,0,1633,108,274,1325,555,108,0,939,0,1636,274, + 0,1995,274,1929,1383,0,0,1317,1929,555,0,0,0,555,0,0, + 0,0,0,1514,1383,1633,1325,0,1633,0,1325,274,0,274,1317,0, + 1602,1317,0,2260,555,1633,1633,0,555,1325,0,1732,1325,988,1325,0, + 1383,1495,1636,555,901,274,1495,555,1208,1912,1602,1325,1633,0,1325,2403, + 108,1383,1317,108,0,0,517,0,673,0,0,0,1495,1325,1208,0, + 555,1317,1317,2332,1325,0,1514,555,555,555,1732,1602,0,0,274,0, + 517,939,0,2242,1633,0,1633,555,0,1732,555,517,2040,1633,1633,0, + 1602,0,1317,274,1383,0,1633,517,0,673,1995,1732,1912,1636,1602,1732, + 673,0,1732,108,1325,555,555,1633,1317,0,1732,555,555,555,939,0, + 517,1602,0,0,1929,555,901,0,108,108,1325,517,108,1325,1317,0, + 1325,0,1208,0,0,0,108,274,555,0,1383,1325,555,1325,1633,0, + 1383,1602,1383,0,0,517,274,0,591,0,1455,555,555,1317,1325,555, + 555,1317,0,108,555,0,0,108,1633,555,1602,0,1732,555,0,108, + 0,1636,1633,1633,517,555,555,0,274,1317,0,1912,1325,1208,1325,555, + 1383,1633,108,1317,0,1325,1495,1929,1633,673,1633,463,1317,0,0,517, + 0,1317,1929,0,455,1633,0,0,1602,1929,0,1929,2332,1317,555,238, + 0,274,517,1325,1317,0,274,0,555,1317,555,555,0,1192,1325,463, + 555,939,1633,0,0,0,1929,1325,1359,555,1317,1317,274,1732,555,0, + 555,1929,0,1325,448,0,1636,555,988,1208,108,274,555,1325,1317,555, + 1929,1929,1317,1325,108,902,555,0,555,988,1325,901,1325,1317,1732,1101, + 1208,1633,1732,108,1317,1317,108,555,1929,555,1995,1317,1929,1383,517,0, + 0,1633,1602,1912,1929,274,2464,0,555,1929,1317,0,0,555,1317,2180, + 1327,0,517,555,1633,1732,1636,1602,517,1208,555,555,1383,1317,1633,0, + 988,1192,0,0,1495,673,673,0,555,1495,1325,517,1732,1633,555,1325, + 108,1929,1732,1325,988,555,1325,1208,1929,274,0,673,555,1732,1633,134, + 108,1929,673,1208,555,1208,0,0,2464,0,1633,1929,0,913,673,0, + 108,1317,1383,1633,0,555,0,0,1995,1317,0,2040,1317,1633,2332,108, + 1633,1495,555,0,0,2040,926,673,1929,1325,1732,1929,1342,1633,1636,517, + 0,0,517,182,1359,108,274,2040,108,108,0,0,555,988,517,1633, + 1633,1325,1929,673,1633,1912,1288,555,1732,1325,0,1325,517,1325,1325,555, + 0,0,2055,108,0,1732,517,274,901,1359,1929,1417,1636,926,555,0, + 2040,0,1633,591,1929,1325,274,926,1325,517,0,765,108,0,2040,1383, + 1514,901,1809,666,1732,1732,555,1732,555,0,0,1912,555,555,555,1929, + 1317,0,517,673,555,274,673,2398,1208,555,1853,1633,1325,555,0,555, + 0,1383,1325,1317,1929,108,2037,1383,108,1728,673,555,1835,591,1732,1995, + 0,0,939,555,666,1325,1011,555,0,1929,108,1602,2332,0,1325,1633, + 1732,1602,555,429,2040,1633,0,555,2040,1633,0,0,1325,1929,0,1912, + 2040,1011,0,1732,517,1732,0,0,1633,1325,555,108,517,469,1636,108, + 1011,0,0,0,1912,926,1929,988,1636,1633,274,182,1317,108,1325,0, + 555,988,0,0,0,1771,1633,939,1732,1995,0,858,0,555,1633,0, + 939,0,555,108,555,1633,1995,555,2510,0,516,939,1208,1912,858,1205, + 0,785,0,988,1495,274,1011,902,0,0,184,0,1514,108,0,0, + 1732,1633,469,1005,455,555,0,0,1455,428,1929,0,926,1633,1317,555, + 939,0,1317,939,0,1327,1929,0,1668,1732,555,0,1929,1633,1929,555, + 0,0,0,555,1607,1011,1325,1495,400,1011,1924,1383,901,469,1929,1835, + 2040,1602,227,1342,1325,1192,0,1728,2040,1343,517,227,1929,1591,1912,429, + 988,1559,1929,1325,0,1732,1317,0,902,0,555,0,1912,988,1633,1547, + 200,1618,1636,926,0,1636,274,999,274,1809,1929,673,902,555,1624,591, + 1636,591,0,517,555,1383,1633,0,1809,1679,0,673,1011,555,0,108, + 1929,1495,1111,0,988,0,108,0,1995,2403,238,514,0,1995,1317,0, + 1343,517,913,673,988,1614,1912,1325,673,816,1212,1325,1732,1929,1835,1602, + 0,1636,108,455,1912,555,0,816,555,274,1633,0,1325,0,1929,1111, + 634,1636,555,1636,1559,0,1636,0,1514,2040,657,1034,1771,1853,258,1633, + 901,555,1208,1912,1959,816,440,0,1807,1924,1514,316,182,1732,1383,1618, + 988,1591,1559,274,274,0,858,0,1383,1929,1602,1633,1514,1005,1617,0, + 2060,517,1715,988,1542,1732,820,1633,1011,1383,1851,0,1650,1633,108,1912, + 1995,916,1636,1995,1208,0,0,1325,274,1645,108,0,0,0,0,440, + 1670,2060,676,1602,1942,1420,1317,939,729,274,0,0,1965,274,975,238, + }; + + const struct insnprefix_parse_data *ret; + unsigned long rsl, val = phash_lookup(key, len, 0xbc1b868fUL); + rsl = ((val>>23)^tab[val&0x3ff]); + if (rsl >= 2070) return NULL; + ret = &pd[rsl]; + if (strcmp(key, ret->name) != 0) return NULL; + return ret; +} + + |