aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/tools/yasm/modules/x86insn_gas.c
diff options
context:
space:
mode:
authorsomov <somov@yandex-team.ru>2022-02-10 16:45:47 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:45:47 +0300
commita5950576e397b1909261050b8c7da16db58f10b1 (patch)
tree7ba7677f6a4c3e19e2cefab34d16df2c8963b4d4 /contrib/tools/yasm/modules/x86insn_gas.c
parent81eddc8c0b55990194e112b02d127b87d54164a9 (diff)
downloadydb-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.c4308
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;
+}
+
+